
dm6437
天才2012
天生我‘才’必有用
展开
-
FlashBurn 如何工作
声明:此文仅供学术交流,严禁用于任何商业用途。本人翻译能力有限,不对文中的翻译负任何责任!FlashBurn 如何工作这篇文章是有关FlashBurn如何工作的说明,以及FlashBurn移植工具包如何用来支持自定义的flash配置。CCS,FlashBurn,FBTC 程序下图显示了FlashBurn如何与CCS一起烧写flash的过程。要点说明:1)Flas转载 2013-06-23 21:35:49 · 2905 阅读 · 0 评论 -
DM6437等dsp64x+的复位中断机制。
今天发现,DM6437的warm reset,对应的到复位中断时可以发现,此处的中断复位服务程序并不会起到作用。为何,因为DM6437一旦发生RESET引脚拉低就会出现ISTP复位到默认值。涉及到CPU Core核心中断寄存器如下,属于其的控制寄存器组,不同于一般的外设寄存器,有CPU负责,和A,B寄存器组类似。IER(中断使能寄存器) IFR(中断标志寄存器) ISR(中断设原创 2013-07-22 20:25:51 · 3028 阅读 · 1 评论 -
CCS5 编译器手动设置dsp支持可变参数宏等问题
IDE:CSS5.4,compiler不支持可变参数宏。需要手动设置编译器相关选项:Language Option-》Language Mode —》no strict ANSI。 1.#pragma DATA_ALIGN( rxdata_stream, 128)就是让rxdata_stream地址的末尾7位是0(二进制地址),就是128字节对齐。对齐的目的,一般是位原创 2013-10-15 13:17:17 · 3440 阅读 · 2 评论 -
TI的JPEG算法库在DM6437上的实现之encode和decode
TI的media library:h.264,MPEG,JPEG等都基于XDAIS和XDM的标志算法结构来实现。在此基础上有产生了DMAI等2次封装用于在Davinci的开发。做为TI的算法合成标准,XDA原创 2013-10-21 12:02:39 · 3341 阅读 · 0 评论 -
DSP的cache一般在何时会生效,防止在cache使用造成数据不一致
在使用DSP的cache使能所有的ddr操作时,发现如果只是写操作,根据cache的机制,如果没有在了L1级hit,则直接使用write buffer来完成写操作。假如hit的话,那之前一定发生过读操作,比如移位某个字,肯定是先读入L2,L1,进入S模块移位完成后再输回到L1。这样就不得不在完成这个操作后进行一定的cache会写和无效操作,把最终的数据写回ddr中去。原创 2013-10-11 10:33:03 · 3709 阅读 · 0 评论 -
DM6437下裸定时器在CC5.4下开发的疑问现象解决
之前写的code发现有Bug存在,于是去调试这个定时器,悲剧的时当时自己使用的最简单的定时模式,竟然出现一些难以理解的现象。DM6437的Time有64bit ,32 bit等最简单的定时模式,对应的工作末模式包括once stop 和continous 模;以配置64bit模式如下:/*set 1us unit times*/void timer0_init(Uint32 time原创 2013-11-26 20:25:14 · 2550 阅读 · 2 评论 -
dm6437开发的网址资料集
DM643x designer's resource guide:http://processors.wiki.ti.com/index.php/DM643x_designer's_resource_guideDM643x 24-bit SPI Secondary Boot Loader:boot阶段的代码,引导应用程序的启动http://processors.wiki.ti.原创 2013-12-10 09:36:33 · 2530 阅读 · 0 评论 -
dm6437 默认复位ccdc处于enable模式
显而易见的是下图datasheet里面已经说明默认的是ENABLE是1即是处于使能模式,会伴随中断信号的产生,实测也可以发现实际上电复位处于enable模式,故会导致未启动ccdc时,已经自动产生中断进行图像数据的采集。一般在配置好ccdc才enable,故这个问题需要解决。原创 2014-03-11 09:45:31 · 1818 阅读 · 0 评论 -
DM6437 VPFE和VPBE的中断机制
VPFE和VPBE两者的中断,都是来源于VSYNC这个垂直同步信号。而这里的中断,往往就形成一套完整的缓冲机制,包括采集和显示。在VPFE处,可以看到VINT0和VINT1等是在VSYNC的基础上的,记录HSYNC的个数后,才能产生一次中断,而VSYNC会直接锁存住直到下次才会修改。这也说明了采集在前中断在后。在VPFE初始化的时候,设定的采集存储缓冲区buffe[0],CCDC直接将数据读入到这原创 2013-07-14 22:09:40 · 2868 阅读 · 0 评论 -
volatile能解决cache的数据一致性吗?答案是不能
以前对volatile的了解,都是可以防止被编译器优化,从而从内存中都读写数据。但当ddr中的数据被cache了以后,然后又是被命中了,那么下次你去读写数据时,CPU还是中cache中去操作的。这就引来了和硬件的不一致性,但简单的volatile也不能解决cache的一致性。因为CPU会认为当前的数据就是从内存中去读写的(cache也属于内存级别)。所以只能通过专门的cache一致性的writeb原创 2014-12-08 17:31:38 · 6630 阅读 · 1 评论 -
DM6437 C64X+ EDMA 疑惑总结记录
总结一下DM6437中的EDMA的使用出现的问题,方便以后再开发定位问题。1.EDMA Link 和 Chain的区别link实现了DMA的自动重加载(非静态模式)chain是不更新param set表,直接event对应的param。 2. transfer completioncode(TCC)a.OPT中的TCC决定了pending bit的位置,不需要做到和chan原创 2013-09-24 21:38:32 · 3673 阅读 · 2 评论 -
dsp下基于双循环缓冲队列的视频采集和显示记录
dsp下基于双循环缓冲队列的视频采集和显示记录原创 2013-09-04 22:14:28 · 2892 阅读 · 0 评论 -
使用CCS5.1导入的3.3工程编译错误lib/subdir_vars.mk:11: *** missing separator. Stop.
D:\Program Files\CCS5.1\ccsv5\utils\bin\gmake -k all lib/subdir_vars.mk:11: *** missing separator. Stop. TI方面说是5.1的BUG,在5.4的版本中修复。尝试后果然可以。不然麻烦的是只能重新建立工程。原创 2013-07-10 15:30:08 · 3655 阅读 · 1 评论 -
CCS5 above中的image analyze工具的参数配置
核心配置参数:1.Image format图像格式,YUV,GRB,Bayer raw data等可选择2.常用YUV模式配置:Stride(YUV的跨度,比如UYVY是Y隔着2,U,V隔着4出现)。一行的stride就是一行的字节数,YUV422一行为行像素点数的2倍)Mask为取YUV的所在位置。但是实验出来,取数字是本应该是Y 是0xFF00,但貌似CCS5.4中是读取时大端排序原创 2013-07-10 16:06:35 · 3595 阅读 · 0 评论 -
DM6437 VPFE寄存器详解
1. PCR寄存器ENABLE:使能CCDC 控制器2.SYC_MODE寄存器VDHOUT:垂直/水平同步帧信号,1配置为输出,0默认为输入。VDPOL:垂直同步帧极性,1表示低电平有效,默认0为高电平有效HDPOL:同VDPOL。EXWEN:外部写使能信号有效,对于BT656不需要配置FLDMODE:1表示交错扫描,分2场。默认0为逐行扫描。DAT原创 2013-07-05 20:26:36 · 3908 阅读 · 1 评论 -
DM6437 dsp系列之启动过程全析(2)—AIS文件解析
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email: gzzaigcn2009@163.com,gzzaigcn2012@gmail.com开发工具CCS5.1,Source Insight。这篇博客主要和大家分享,AIS文件的制作与使用。什么是AIS,TI对其的定义为Application Image Script,应用镜像脚本原创 2013-07-02 09:57:46 · 4057 阅读 · 0 评论 -
DM6437 dsp系列之启动过程全析(1)—boot启动模式小结
dm6437 boot模式小结原创 2013-07-02 16:57:12 · 4611 阅读 · 0 评论 -
dm3730和dm6437,dm6446,AM335x启动过程的不同
dm3730的启动流程为RBL+X-loader+uboot+uImage分别在片内ROM(fireware),片内SRAM,片外的DDR,片外的DDR。之所以建立这样一个复杂的启动过程,我个人的理解是。片内ROM和SRAM空间有限,uboot的大小基本达到了200KB 左右,不能放在空间有限的SRAM中(因为SRAM的集成度不高,容量越大体积也越大)。于是肯定需要有前期的RAM来帮助完成加载原创 2013-06-30 23:17:56 · 3558 阅读 · 0 评论 -
I2C和SCCB协议的小区别和误区
I2C采用的是7位地址数据,首字节最低位代表读写位,第二字节SUB寄存器高位为1表示自动加subaddressSCCB采用的是8位地址数据,比如0x42,B01000010使用I2C协议时,第一次就得发送地址0x42.但是,在往地址寄存器中写时,只需要写0100001这个值到相应地址寄存器即可。故I2C只需写入0x21即可。实际发送时,比如读时,处理器自动组合成01000011原创 2013-08-01 12:50:02 · 6987 阅读 · 0 评论 -
C64+ cache资料集(更新中)
1 CACHE的一些名词术语:Allocation 在CACHE中发现一个位置,并把新的cache数据存到这个位置的过程。这个处理过程可能包括evicting(驱逐)cache中已存在的数据,从而为新的数据腾出空间。Associativity 指每个Set(集)里包含的line frames(行帧)数。也就是cache的way(路)数。Cap转载 2013-07-25 16:36:11 · 2083 阅读 · 0 评论 -
记第一次代码评审后感
今天第一次体验代码评审,被评审代码DSP人工视觉系统v1.0。初感如下: 开门稿:总体介绍本套软件的软件背景、软件功能、软件架构、软件模块。给别人一个直观的体验。 总结如下:1.良好的编码习惯是优秀工程师所必备的素质。建议编码规范参考:《华为C编程规范和范例》。 2.自己的代码在别人的眼中可能漏洞Bug百出。 3.评审别人的代码也是对自己的一种提高。原创 2013-08-15 19:29:51 · 2136 阅读 · 0 评论 -
NorFlash等写操作时不一定需要手动执行擦除命令(观点错误,需要手打擦除命令)
一直有个概念就是在操作常见的Flash:无论是nandflash/spifl原创 2014-09-17 14:16:50 · 7157 阅读 · 0 评论