tms320f2812是目前性能非常优秀的32位定点dsp,集成了多种外设。对tms320f2812开发通常利用ti公司的ccs2集成开发环境,使用jtag接口仿真器连接目标板,可以不占用用户资源实现全速/断点调试;仿真调试完成后对cmd文件进行相关修改,并用rts2800_fl04830.lib替换rts2800n.lib,必要时对程序中变量与函数分配的空间做部分调整后,编译项目得到输出文件;在ccs2集成开发环境中完成下载、加密等操作后,断电脱离仿真机,成为独立运行的嵌入式系统。
然而,相当多的应用设计者常常面临程序仿真通过,但独立运行失败的情况,表现均为程序代码运行性能比估计的要差很多,以致来不及处理实时数据。由于代码在flash中运行的时间比在saram中仿真的时间长,有的设计试验出现在flash中运行比仿真慢4倍以上的结果,使设计只能停留在仿真通过的层次上。
1 分析
ti公司提供的一篇文档资料spra958e.pdf,描述了在内部flash中运行程序的相关知识,说明当在ram中仿真速度为150 mips时,相应flash中的执行速度可达90~1oo mips;同时。在此文档资料中提供了参考实例,但介绍性文字较多,实现高性能的具体配置方式描述不够具体。经反复阅读ti公司的其他相关文档资料,并编程对比实验,笔者摸索出实现flash中运行速度达到ram中仿真速度的75%左右的方法,与ti指标相符合。下面详细说明试验程序与方法。限于篇幅,只列出与试验过程密切相关部分的配置情况。试验程序使用的空间分配如表1所列。
试验程序如下:
下面是cmd文件关键内容。因ram仿真与下载flash所用cmd文件有差异,故为节省篇幅,混合写在一起,差异部分参见说明。
试验程序运行时,用示波器在tms320f2812的xf输出脚可以测量到重复脉冲(如图1所示),表2为对应的测量结果。
函数initflash()设置了等待参数。在100 mhz的系统时钟条件下,笔者的实例能保证正常执行的最佳参数;而其他设置会产生运行速度慢,或过快但运行不稳定的结果。观察表2的测量结果,可以发现各方式下t1时间不变,原因为指令“asm(“rpt#248||nop”)”取指令只执行一次,然后在dsp中内部循环执行250次,而只有取指令才涉及等待参数问题,所以在试验的4种条件下t1基本相同(毕竟还是存在取指令过程,每种条件下t1并非完全一致,有微小差别)。因flash本身访问速度比saram要慢,指令需要插入等待周期。
表2说明了下载到flash中运行时的速度与在saram中仿真时相比,有所下降。t2/t3/t4虽然同为数据传送花费时间,但因分布空间不同,对应汇编指令数和指令类型相应有增减,故表现出不同的执行时间,其中数据在外部ram中传输比在内部saram中传输要慢。
表2还显示出下载到flash中运行,如果同时对芯片加密,则应当特别注意变量分配的空间位置。加密后flash处于安全模块中,如果变量分配到ho,那么由于h0是非安全块,dsp工作时可以在两种模块中动态切换,不需要开发者附加代码。描述参见ti文档资料中的csm章节,但并未说明需要额外增加时间开销。lol1是安全块,如果变量分配到l0l1或是没有加密,则因不存在安全与非安全模块的切换时间开销,速度比较快。当采用保护芯片知识产权而需要加密flash时必须注意分配变量空间,把对运行速度敏感的参数分配到loll中,否则会发现程序执行速度降低到仿真时的1/4。由于内部saram空间有限,应用系统往往需要外扩ram,数据交换将比在内部saram执行时有所增多。
2 结论
通过前面的试验,可以得到几个在tms320f2812应用开发中,运行于flash中的代码如何提高性能的指导原则:
①根据系统时钟选择合适的等待参数;
②数据分配空间从指令类型与数量上影响程序执行效率;
③flash加密后,对执行速度有快速性要求的应用系统,应当在cmd文件中指定运行空间在saram的l0l1段,并注意变量分配的段空间。
设计系统如果满足上面几个原则,那么程序执行效率就可达到saram仿真时的70%。
拆解实录:康舒ipower新品电源评测
关于PM2.5传感器在扬尘监测仪器中的应用
中国首个芯片大学吸引全国目光
AR与VR:下一个通用计算平台竞赛的解读
组合芯片应对无线融合的技术挑战
TMS320F2812芯片开发中Flash代码性能的研究
预测分析介绍及行业应用案例
DC-DC LED照明开关驱动器方案选择
韩国全国部署了11.5万个5G基站,有望今年将超高速毫米波5G网络商业化
2014年智能手机增长放缓 低端机受关注
关于终端设备对外接口的性能与监控性能的介绍
Nadia在人形机器人中如何独树一帜
电动汽车的价格为什么一直居高不下
嵌入式GPIO接口基础操作
通过核心部件和基本参数来全面了解光纤连接器
深开鸿亮相2023世界航海装备大会,赋能蓝色经济高质量发展
模拟及混合信号芯片设计公司纳芯微发布2022第一季度报告
电源数据表的基本布局的了解
怎样控制直流电动机双向运行
半导体核心技术外泄,多名三星高管被查