TMS320VC5509在线烧写Flash并自举启动方法研究
判断编程或擦除的结束是当把编程或擦除的命令字按照其时序写入Flash 时,在写编程命令时序或擦除命令时序的最后一个WE上升沿到来之后,AM29LV800会自动运行一个嵌入在Flash内部的算法来判断编程或擦除操作是否结束。采用触发位校验的方法,检测数据切换位DQ6(Toggle Bit)的状态,连续读数据会使DQ6的值在‘0’和‘1’之间来回切换,当编程或擦除结束时,DQ6就停止值的切换[4]。因此,可以通过连续两次读DQ6的值来判断编程或擦除是否结束,当两次读得的值相同时,说明编程或擦除结束,否则没有。触发位检测算法流程图如图4所示。 4 程序的烧写实现
本系统在CCS仿真环境下对Flash进行在线编程。先建立一个Flash的烧写工程,并在工程中将要烧写进Flash的引导表文件通过CCS的LOAD DATA功能直接加载进DSP的内存,根据加载的首地址和数据长度,在仿真环境下烧写进Flash中。值得注意的是,程序加载的内存空间不能与Flash的烧写程序重叠,否则烧写失败。烧写完成以后,关掉电源,拔掉仿真器电缆,让仿真器和计算机脱开:重新打开电源,实验板上指示灯闪烁,表明烧写进Flash程序正在运行,自启动成功。
需要补充的是,经过hex55.exe文件转化后的hex文件的引导表文件不能直接导入CCS中,CCS只支持将特别规定的DAT格式文件通过LOAD DATA导入内存,所以在导入之前必须先将引导表转化成DAT格式文件,这个工作可以由VC编写一个简单的C语言转化程序实现。
本文阐述了一种针对TMS320VC5509A DSP简单有效的Flash烧写方法,并提出了程序自举引导的实现方法。可以有效地解决程序代码存储问题和DSP脱机自举问题,不仅提高了调试效率,也增加了系统的灵活性。本文讨论的引导方法包括硬件设计及相关程序,已经在笔者的实际开发语音项目中使用并成功运行。
DSP TMS320VC5509 自举启动 在线编程 相关文章:
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)