微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > TMS320VC55x系列DSP在线烧写方法研究

TMS320VC55x系列DSP在线烧写方法研究

时间:10-10 来源:互联网 点击:
  • 3 并行Flash的烧写

    3.1 数据烧写程序设计

    Flash的数据可直接读取,但对Flash的编程和擦除操作则需要通过一系列命令才能进行。SST39VF200的写操作只能将1变成0,而O变成l必须通过擦除操作进行。所以每次写Flash之前必须进行片擦除,使存储单元值变成0xFFFF才能进行编程。擦除命令需要6个周期,编程命令需要4个周期,操作命令如表4所示H。



    编程和擦除操作都需要一定周期的时间(SST39VF200的单字编程时间是14μs,整片擦除时间是70 ms)。用户可以通过查询标志数据线DQ6和DQ7确定编程或擦除是否完毕。当器件正处于编程或擦除状态时,连续读任意单元的值,D06的值将一直在O、l之间交替变化。当编程或擦除结束时,读DQ6则得到一个恒定值。这里即通过此方法判断操作是否结束。

    根据Flash的编程和擦除命令,编写了相应的C语言程序,其中在TMS320VC55x系列1)SP中,对外接存储器的访问要调用库函数far_poke()和far_peek()。这2个函数包含在<extaddr.h>头文件中,并且寻址的地址为字地址。以下给出擦除程序,写操作与此类似。表5为对外接存储器读写的库函数。





    3.2 程序的烧写实现

    系统在CCS仿真环境下对Flash进行在线编程。先建立一个Flash的烧写工程,并在工程中将要烧写进Flash的自举加载表文件通过CCS的LOADDATA功能直接加载进DSP的内存。根据加载的首地址和数据长度,在仿真环境下烧进Flash中。当然也可以直接在程序中定义一个数组,将DAT文件中的数据赋值给该数组的元素,然后将该数组的每个元素写入Flash。在运行烧写程序之前,要先对EMIF进行设置,因为EMIF默认的是接8位异步存储器,可以通过调用GEL菜单中Init_CE0_Async_16命令完成。

    4 结语

    阐述了一种针对TMS320VC55x系列DSP简单有效的Flash烧写方法,并提出了程序自举加载的实现方法。讨论的加载方法包括硬件设计及相关程序,已在笔者实际开发的高精度数据采集项目中使用并成功运行。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top