打印

高效编写C语言

[复制链接]
3295|20
手机看帖
扫描二维码
随时随地手机跟帖
沙发
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 | 只看该作者
数据的存放应该放在片内,片外的数据读取会严重影响读取时间和执行效率。

使用特权

评论回复
5
zhaoxqi| | 2012-2-16 20:07 | 只看该作者
对于要求高的子程序,用人工优化或ASM编写。

使用特权

评论回复
6
zhenykun|  楼主 | 2012-2-16 20:07 | 只看该作者
C语言中可以嵌套汇编语言 ?

使用特权

评论回复
7
liliang9554| | 2012-2-16 20:09 | 只看该作者
C语言是汇编语言的进化版本,高级语言是向下兼容的。

使用特权

评论回复
8
liliang9554| | 2012-2-16 20:10 | 只看该作者
具体来说,用C语言编写核心框架程序,用汇编语言编写子程序(执行程序),中断服务程序,通过汇编语言可以提高执行效率。

使用特权

评论回复
9
zhenykun|  楼主 | 2012-2-16 20:12 | 只看该作者
对于C5000,大于48K的程序如何BOOT

使用特权

评论回复
10
spark周| | 2012-2-16 20:13 | 只看该作者
对于C5000,片内的BOOT程序在上电后将数据区的内容,搬移到程序区的RAM中,因此FLASH必须在RESET后放在数据区。

使用特权

评论回复
11
spark周| | 2012-2-16 20:14 | 只看该作者
由于C5000,数据区的空间有限,一次BOOT的程序不能对于48K。

使用特权

评论回复
12
zhenykun|  楼主 | 2012-2-16 20:15 | 只看该作者
有啥解决方法

使用特权

评论回复
13
spark周| | 2012-2-16 22:41 | 只看该作者
在RESET后,将FLASH译码在数据区,RAM放在程序区,片内BOOT程序将程序BOOT到RAM中。

使用特权

评论回复
14
spark周| | 2012-2-16 22:41 | 只看该作者
用户初试化程序发出一个I/O命令(如XF),将FLASH译码到程序区的高地址。开放数据区用于其它的RAM。

使用特权

评论回复
15
spark周| | 2012-2-16 22:44 | 只看该作者
用户初试化程序中包括第二次BOOT程序(此程序必须用户自己编写),将FLASH中没有BOOT的其它代码搬移到RAM中。

使用特权

评论回复
16
spark周| | 2012-2-16 22:44 | 只看该作者
开始运行用户处理程序。

使用特权

评论回复
17
wyjie| | 2012-2-16 22:45 | 只看该作者
我认为高效的C语言在于程序整个框架吧。最好是看看标准C。

使用特权

评论回复
18
zhenykun|  楼主 | 2012-2-16 22:45 | 只看该作者
嗯,我再缕缕,谢谢

使用特权

评论回复
19
zhenykun|  楼主 | 2012-2-16 22:46 | 只看该作者
先结贴了

使用特权

评论回复
20
jack_shine| | 2012-2-17 17:47 | 只看该作者
孰能生巧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

868

主题

11535

帖子

3

粉丝