0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于定点型数字信号处理器TMS320C6455实现Flash存储器加载的设计方案

基于定点型数字信号处理器TMS320C6455实现Flash存储器加载的设计方案

来源: elecfans
2020-12-29
类别:工业控制
eye 34
文章创建人 拍明

原标题:基于定点型数字信号处理器TMS320C6455实现Flash存储器加载的设计方案

  数字信号处理器(DSP)在数字信号处理中有着广泛的应用,尤其是与FPGA结合的设计,增加了应用的灵活性和可升级性,能够充分发挥其信号处理的优越性。在设计以DSP为处理器的信号处理模块时,DSP的加载方式是必须考虑的问题。本文将以TMS320C6455为例来研究DSP的自动加载。

  TMS320C6455是TI推出的一款较为高端的定点型数字信号处理器。TMS320C6455的时钟频率为1.2 GHz,16位定点处理能力为9 600MMAC /s,采用了Serial Rapid IO接口技术,这些特点决定了TMS320C6455在通信、图像处理、雷达等领域得到广泛应用。

  1 TMS320C6455加载模式

  C6000系类DSP的主要加载方式包括无引导模式、主机引导模式和EMIF总线引导模式3种。3种加载模式各有其优越点:无引导模式仅限于存储器0地址不是必须映射到RAM空间的器件,否则在RAM空间的初始化之前CPU会读取无效代码而导致错误;主机引导模式则要求必须有一部外部主机控制DSP的初始化,这增加了系统的复杂度和成本,在设计中较少采用。EMIF引导方式DSP与外部ROM的接口较为自由,但需要二次加载。TMS320C6455在以上加载方式的基础上还有主I2C、从I2C和SRIO引导方式。本文主要讨论易于实现的EMIF加载方式。

  DSP的内部ROM空间有限,不能将所有的用户代码存储到内部ROM中。因此需要通过二次搬移完成用户程序的加载。TMS320C6455的地址空间0x100000~0x107FFF间集成了32 kB的内部ROM,Bootloader是其中的一段引导代码,作用是在DSP上电时,DSP将一段存储在外部ROM的用户代码(长度为1 kB)搬移到内部的RAM单元中执行。这种自动加载技术不仅利用了本身有限的ROM资源,而且充分发挥了DSP内部资源的利用率。

  2 外部ROM引导

  在外部ROM引导模式下,对TMS320C6455而言,CPU上电后将自动从CE3空间拷贝1 kB到CPU的内部RAM并且运行。对于大多数的应用程序,1 kB大小的代码量无法满足系统的要求,如果将代码放在外部Flash中运行,则又浪费了DSP的高速性能。因此,当用户代码长度》1 kB时,需要使用Bootloader进行二次加载。Bootloader程序是一个“搬移数据”的程序,主要功能是将用户程序从CE3的其他空间搬移到内部RAM供CPU运行。DSP的二次加载程序的加载过程如图1所示。

  

1.jpg


  DSP的CPU复位阶段,程序指针自动指向Bootloader,这个程序将CE3空间的1 kB(对应外部Flash中二次加载代码)搬移到CPU的内部RAM中;CPU退出复位后正常启动,运行二次加载程序,将用户程序的部分拷贝到RAM中,完成数据的搬移后跳转到_c_int00处,初始化C运行环境;待C运行环境初始化完成后,指针跳转到main()函数处。

  3 用户程序的烧写和存储区域分配

  文中重点介绍直接利用CCS开发工具将用户程序编译连接的.out文件,通过JTAG仿真器下载到DSP内部的RAM中,只要不运行程序,此时RAM中存储的程序就是.out文件对应的二进制格式存储的机器码,将其另存为.dat文件格式,则直接可以通过在线烧写的方法完成Flash的烧写。一定要修改工程文件中的原链接器,命令文件中存储空间的划分和COFF段属性的设置,避免烧写程序的存储空间与用户程序相冲突,并在两个程序中留有一定的间隔用于保护程序的相互独立性。

  4 二次加载程序的编写

  TMS320C6455片内的Boofloader自动载入CE3空间的前1 kB空间,在实际应用中,DSP的应用程序一般1 kB,因此需要加入二次引导代码。其实现的功能是将用户程序的剩余部分拷贝到RAM中。程序运行的步骤为:(1)根据复制表中各段的加载和运行地址等信息,对变量进行初始化。(2)根据信息将代码从Flash搬移到RAM的相应位置。(3)将程序的指针跳转到C程序入口函数_c_int00处。

  5 Flash的烧写

  Flash的烧写以一个GPIO口的LED闪烁的程序为例。设计采用的Flash型号为S29GL512N,其接法如图2所示。

  

image.png


  调试步骤为:(1)通过JTAG口将编译生成的.out文件下载到DSP内部的RAM中,不运行,将RAM中的数据保存成.dat文件(注意保存的长度应该不小于用户程序的长度)。(2)进行Flash的擦除,采用整体擦除,擦除结束后采用循环检测DQ7引脚是否置1,置1代表完全擦除。(3)进行Flash的烧写,将上面保存的.dat文件Load到DSP的CE2地址段(注意修改起始地址和长度),编写程序,从CE2的地址读取数址位(注意写入长度不能小于.dat数据的长度),完成Flash的烧写。(4)重新通电,LED闪烁,表面DSP完成外部ROM加载,实现DSP的自启动。

  6 结束语

  DSP广泛应用于各种数字信息产品中,对于其加载模式的要求也越来越高,通过Flash存储器加载DSP的方法是实际应用中有效而简单的方法。本文介绍了TMS320C6455从外部ROM加载的模式,给出了硬件连接方式和软件的核心代码,通过实验验证其运行良好。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案