谁知道高效编写C语言的要求和方法

[复制链接]
5160|20
 楼主| zhenykun 发表于 2011-10-21 17:06 | 显示全部楼层 |阅读模式
谁知道TI DSP中高效编写C语言的要求和方法
zhanghqi 发表于 2011-10-21 17:07 | 显示全部楼层
TI DSP的C语言是标准的ANSI的C,是一个专门优化的C。对于C3x/C5000/C6000的用户,C对于ASM的效率可以达近1:1。
jiajs 发表于 2011-10-21 17:09 | 显示全部楼层
TI的DSP,每个系列有每个的特点。要编制高效的C程序,建议根据DSP的专门特点,根据实际业务流程来编写语言以及任务进程分配。
shimx 发表于 2011-10-21 17:21 | 显示全部楼层
数据的存放应该放在片内,片外的数据读取会严重影响读取时间和执行效率。
zhaoxqi 发表于 2011-10-21 17:22 | 显示全部楼层
对于要求高的子程序,用人工优化或ASM编写。
 楼主| zhenykun 发表于 2011-10-21 17:25 | 显示全部楼层
C语言中可以嵌套汇编语言 ?
五谷道场 发表于 2011-10-21 17:27 | 显示全部楼层
C语言是汇编语言的进化版本,高级语言是向下兼容的。
五谷道场 发表于 2011-10-21 17:27 | 显示全部楼层
具体来说,用C语言编写核心框架程序,用汇编语言编写子程序(执行程序),中断服务程序,通过汇编语言可以提高执行效率。
 楼主| zhenykun 发表于 2011-10-21 17:29 | 显示全部楼层
对于C5000,大于48K的程序如何BOOT
spark周 发表于 2011-10-21 17:30 | 显示全部楼层
对于C5000,片内的BOOT程序在上电后将数据区的内容,搬移到程序区的RAM中,因此FLASH必须在RESET后放在数据区。
spark周 发表于 2011-10-21 17:31 | 显示全部楼层
由于C5000,数据区的空间有限,一次BOOT的程序不能对于48K。
 楼主| zhenykun 发表于 2011-10-21 17:33 | 显示全部楼层
有啥解决方法
spark周 发表于 2011-10-21 17:35 | 显示全部楼层
在RESET后,将FLASH译码在数据区,RAM放在程序区,片内BOOT程序将程序BOOT到RAM中。
spark周 发表于 2011-10-21 17:35 | 显示全部楼层
用户初试化程序发出一个I/O命令(如XF),将FLASH译码到程序区的高地址。开放数据区用于其它的RAM。
spark周 发表于 2011-10-21 17:38 | 显示全部楼层
用户初试化程序中包括第二次BOOT程序(此程序必须用户自己编写),将FLASH中没有BOOT的其它代码搬移到RAM中。
spark周 发表于 2011-10-21 17:38 | 显示全部楼层
开始运行用户处理程序。
 楼主| zhenykun 发表于 2011-10-21 17:42 | 显示全部楼层
嗯,我再缕缕,谢谢
mcu_electron 发表于 2011-10-24 17:37 | 显示全部楼层
我认为高效的C语言在于程序整个框架吧。最好是看看标准C。
爱在2012 发表于 2011-10-25 21:24 | 显示全部楼层
进来学习一下。
stuotuo 发表于 2011-10-25 21:30 | 显示全部楼层
进来学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

868

主题

11535

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部