基于定点型数字信号处理器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所示。
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所示。
调试步骤为:(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加载的模式,给出了硬件连接方式和软件的核心代码,通过实验验证其运行良好。


分体式蓝牙耳机哪款好?四款好用的分体式蓝牙耳机推荐
一起来探究Dialog收购Atmel真正的意图
限制向中国出口人工智能芯片的规定正在进行最终审查
PythonRobotics-自主机器人导航
传言中的三星Galaxy S20粉丝版的发布
基于定点型数字信号处理器TMS320C6455实现Flash存储器加载的设计
未来5年苹果芯片路线图预测,积极拓展自研芯片业务
有“源”同行,感谢肯定!| 来自开放原子开源基金会的年度感谢信!
vivo X30 5G版跑分曝光单核心为3095分多核心为7379分
大唐电信在5G、车联网、通信芯片产业做出的贡献
为什么叫图腾柱?图腾柱驱动的作用与原理
从联通辞职去阿里做副总裁库伟现在怎么样了
Si偏聚对形核基底原子有序性及α-Al外延形核难易程度的影响
三星推出新一代AI芯片Exynos 9820 配备独立双NPU和8核CPU
相位噪声及对雷达及通信系统影响
无线蓝牙耳机那个品牌好用、推荐几款比较好用的无线蓝牙耳机
西门子低压变频器维护及故障诊断
NFC技术在智能家居领域的创新应用
如何用西门子博途软件电机驱动来进行变频器调试
PPG传感器模块在智能手表的应用