首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
DSP技术
» TMS320F2812代码运行性能的研究
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
TMS320F2812代码运行性能的研究
发短消息
加为好友
苹果也疯狂
当前离线
UID
852722
帖子
10369
精华
0
积分
5185
阅读权限
90
在线时间
277 小时
注册时间
2011-8-30
最后登录
2016-7-18
论坛元老
UID
852722
1
#
打印
字体大小:
t
T
苹果也疯狂
发表于 2015-7-30 17:32
|
只看该作者
TMS320F2812代码运行性能的研究
仿真器
,
嵌入式
,
设计者
,
程序
,
断点
引 言
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~lOO 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%。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议