高效编写C语言

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

本版积分规则

868

主题

11535

帖子

3

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