1、TI DSP中高效编写C语言的要求和方法:
TI DSP的C语言是标准的ANSI的C,是一个专门优化的C。对于C3x/C5000/C6000的用户,C对于ASM的效率可以达近1:1。 TI的DSP,每个系列有每个的特点。要编制高效的C程序,建议:
1)根据DSP的专门特点,根据实际业务流程来编写语言以及任务进程分配。
2)数据的存放应该放在片内,片外的数据读取会严重影响读取时间和执行效率。
3)对于要求高的子程序,用人工优化或ASM编写。
2、C语言中可以嵌套汇编语言
C语言是汇编语言的进化版本,高级语言是向下兼容的。具体来说,用C语言编写核心框架程序,用汇编语言编写子程序(执行程序),中断服务程序,通过汇编语言可以提高执行效率。
3、对于C5000,大于48K的程序如何BOOT?
对于C5000,片内的BOOT程序在上电后将数据区的内容,搬移到程序区的RAM中,因此FLASH必须在RESET后放在数据区。由于C5000,数据区的空间有限,一次BOOT的程序不能对于48K。解决的方法如下:
1.在RESET后,将FLASH译码在数据区,RAM放在程序区,片内BOOT程序将程序BOOT到RAM中。
2.用户初试化程序发出一个I/O命令(如XF),将FLASH译码到程序区的高地址。开放数据区用于其它的RAM。
3.用户初试化程序中包括第二次BOOT程序(此程序必须用户自己编写),将FLASH中没有BOOT的其它代码搬移到RAM中。
4.开始运行用户处理程序。 |