TMS320VC55x系列DSP的Flash引导方法研究
编程和擦除操作都需要一定周期的时间(AT49LV1024的单字编程时间是20μ8,整片擦除时间是10 s),用户可以通过查询标志数据线DQ6和DQ7确定编程或擦除是否完毕。当器件正处于编程或擦除状态时,连续读任意单元的值,DQ6的值将一直在0、1之间交替变化,当编程或擦除结束时,读DQ6则得到一个恒定值。本文即通过此方法判断操作是否结束。
根据Flash的编程和擦除命令,编写了相应的C语言程序,其中SetGPIO46Addr(Addr)子程序的作用是根据所传递的Addr值配置相应的GPIO4和GPIO6即高两位地址的值。
3.3.1 片擦除程序
3.3.2 单字编程程序
3.3.3 编程和擦除结束确认程序
3.4 程序的烧写实现
本系统在CCS仿真环境下对Flash进行在线编程。先建立一个Flash的烧写工程,并在工程中将要烧写进Flash的引导表文件通过CCS的LOADDATA功能直接加载进DSP的内存,根据加载的首地址和数据长度,在仿真环境下烧进Flash中。值得注意的是,程序加载的内存空间不能与Flash的烧写程序重叠,否则烧写失败。
需要补充的是,经hex55.exe文件转化后的hex格式的引导表文件是不能直接导入CCS中的。CCS只支持将特别规定的DAT格式文件通过LOADDATA导入内存,所以在导入之前必须先将引导表转化成DAT格式文件,这个工作可以由VC编写一个简单的C语言转化程序实现。
4 结束语
本文阐述了一种针对TMS320VC55x系列DSP简单有效的Flash烧写方法,并提出了程序自举引导的实现方法,包括大程序二次引导的实现方法。本文讨论的引导方法包括硬件设计及相关程序,已在笔者的实际开发CMOS图像采集项目中使用并成功运行。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 数字频率合成器的FPGA实现(08-07)
- 基于DSP的导弹仿真器嵌入式组件设计(04-30)
- 如何将DSP和MCU两者完美结合(08-10)
- 高性能仿真器与开发包加速普及DSP应用开发(11-22)
- 基于DSP内嵌PCI总线的卫星信号仿真器设计(04-17)