
嵌入式相关
DDBOLG
这个作者很懒,什么都没留下…
展开
-
DSP6437板子上的一些硬件
公司的IVS系统要在DSP6437上实现。看了一下。了解了一些东西。1,NOR flash主要应用在代码存储介质中(小,易读出),接口通用SRAM接口。NAND适合于数据存储(大块数据,易写易擦),接口复杂。2,锁相环,包含三个主要的部分:⑴鉴相环(用来比较输入信号和基准信号的之间的相位.它的输出电压正比于两个输入信号之相位差.⑵低通滤波器(LPF):滤除鉴相器输出电压中的高频分量。原创 2008-03-30 11:08:00 · 1965 阅读 · 0 评论 -
还是烧写,还有读完一本教材了
看完一本教材了,dsp原理,感觉学习dsp原理关键要了解寄存器,像c3000,有28个cpu寄存器,用来计算.19个外围寄存器,包括控制时钟/串口/dma.外围寄存器是映射在存储器地址的,不像cpu寄存器有自己的名字.DMA(DirectMemoryAccess,直接内存存取),顾名思义DMA功能就是让设备可以绕过处理器,直接由内存来读取资料。编译生成的obj和out文件,称为coff格式,组织方原创 2008-05-12 16:36:00 · 1327 阅读 · 1 评论 -
内存分配文件map
看了一下map文件,很多信息可以看到。存储空间的分配,各个函数的位置,存储器的配置……前几天程序单步没问题,而连续执行错误的原因是因为是flash的擦写,所以要等一下才能执行成功。原创 2008-05-12 09:49:00 · 1222 阅读 · 0 评论 -
总结一下电路图
1,k9f1g08 128M的NandFlash2,s29GL064 64M的nor flash 3,Ferrite Bead 磁珠有很高的电阻率和磁导率,他等效于电阻和电感串联,他比普通的电感有更好的高频滤波特性,见于电源的滤波.TPS3808,是TI公司的一款具备低静态电流、可编程延迟的监控电路。当TPS3808的SENSE引脚电压低于门限电压或MR有效时,RESET引脚输出复位信号,原创 2008-05-09 10:22:00 · 2611 阅读 · 0 评论 -
dsp板子上加了一个led灯
原创 2008-05-07 13:34:00 · 1133 阅读 · 1 评论 -
dsp版遗留物检测基本完工
五一过节,玩了好几天,五四又过个生日,好爽的假期。老板在催,所以加班写代码。用了一下OpenCV的动态结构,CvSeq,发现很好用哦。检测到的目标保存在一个动态序列中,保存了目标的位置、大小、时间信息。在ccs环境下编译通过,又在windows下结合directshow测试了一下,发现几个小bug,其余运转正常。还需要一个智能背景重新学习的模块。以后再说吧。可今天板子拆,拿去作壳子了,只好改天原创 2008-05-06 12:54:00 · 1372 阅读 · 1 评论 -
opencv移植dsp心得
对于单片的处理系统,程序的编译有不少不同,不可以用windows下对程序组织来考虑dsp的程序组织。作移植的话,一定要对dsp下程序的编译和运行有了解。比如,ccs中,子程序声明后就会分配空间,传结构会默认传结构的地址……这样,直接编译opencv,要想编译通过并不困难,但用仿真器调试的时候,基本上opencv的函数都通过不了,算法上问题不多,主要是程序结构上的。一定要对opencv函数原创 2008-04-20 10:11:00 · 14972 阅读 · 10 评论 -
dsp下的遗留物检测
最近一直在做,本来算法挺复杂,背景学习剔除了运动物体的影响,对遗留目标还用了vector,后来发现内存不够了,只有5M可以用。又一顿改。使用了下采样图像,简化了算法。可是还没有找到一个简单好用的动态数据结构,貌似ccs不支持stl,没法用vector了。今天发工资,终于可以自食其力了。发现自己的c基础不扎实,要加强。原创 2008-04-28 11:01:00 · 1535 阅读 · 0 评论 -
Opencv中的多线程
涉及到dsp的移植,所以研究了一下。cxswicher是用于intel处理器ipp优化的,编译时就不要了。cxerror必须要,但是其采用了多线程技术,所以要disable掉大多数代码。cxerror用到的多线程技术包括windows.h或pthread.h(linux下),为什么要用呢?在多线程程序里,有第三种数据类型:线程数据(TSD: Thread-Specific Data)。它和全局变量原创 2008-04-20 22:07:00 · 10603 阅读 · 0 评论 -
uC/OS—lI的任务调度原理
参考文献《嵌入式实时系统I-IC/OS—lI的任务调度原理》 崔志明,崔志能写的很明白。下面是简单的总结。一个任务,也称做一个线程,是一个简单的程序。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。一般来说。任务通常是一个无限的循环。uC/OS—II的任务拥有自己的代码和堆栈空间(保存该任务的寄存器、返回地址和临时参数),一般都是空函数原创 2008-04-09 21:33:00 · 2281 阅读 · 0 评论 -
实验板上的硬件驱动
板子上的硬件驱动程序包括:1,LED灯void Timer1LED(INT24S bOn);void Timer2LED(INT24S bOn);2,VFD显示屏void SetVFDCommand(INT24U Cmd);void SetVFDData(INT24U Data);……3,数模,模数转换void SetDA(FP48 dVol); ……4,电机void SetMotorDuty(F原创 2008-04-09 13:55:00 · 851 阅读 · 0 评论 -
DSP56311的操作系统移植
这种芯片是Motorola 公司的。移植完全是师姐搞的,我觉得做得很好,师姐教起来也是知无不言,言无不尽。最近用TI的DSP6437,所以去蹭dsp实验课了。uC/OS是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。主要包括:os_core.c os_cpu_c.c os_task.c os_ti原创 2008-04-09 13:54:00 · 1824 阅读 · 0 评论 -
ccs下编译opencv
搞定了。开始时的很多问题竟然是ccs的使用不当,纳闷了好久。主要是内存分配函数用malloc就可以了,在cxmisc.h把宏定义改一下就可以了。但是还没有在开发板上仿真。还有一个主要问题是考虑类型的强制转换。原创 2008-04-07 19:09:00 · 3379 阅读 · 1 评论 -
公共汽车人数计数的改进
前一段做的bus count,拿去深圳科学院测试,总体不错,但是暴露了一些算法上的问题。对于多人并行的分辨率并不好。最近作了一下算法试验,否定了几种方案,觉得问题出在乘客何时走出检测框的判定上。严格的多人并行也不难检测,难点就在不是完全并行,也没有分得很开。所以,走出的判定,既然认为是走出去了,就应把检测框放在边上,而不是全部。带来一个问题,一个人的走出可能和下一个人的走入重合。这种思路还没有利用原创 2008-05-22 12:52:00 · 1969 阅读 · 0 评论