第15章 DSP的C语言编程ppt课件.ppt

第15章 DSP的C语言编程ppt课件.ppt

ID:59199885

大小:444.50 KB

页数:82页

时间:2020-09-26

第15章 DSP的C语言编程ppt课件.ppt_第1页
第15章 DSP的C语言编程ppt课件.ppt_第2页
第15章 DSP的C语言编程ppt课件.ppt_第3页
第15章 DSP的C语言编程ppt课件.ppt_第4页
第15章 DSP的C语言编程ppt课件.ppt_第5页
资源描述:

《第15章 DSP的C语言编程ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第15章DSP的C语言编程115.1DSPC语言简介软件开发平台为CCS。CCS提供了优化的C编译器,优化编译结果达手工编写的90%以上。厂商和相关公司也在不断对C优化编译器进行改进.相信C语言程序优化编译的效果会有进一步改善。2C编译器支持ANSIC语言标准。(ANSI--AmericanNationalStandardsInstitute,美国国家标准委员会)ANSIC标准具有一些受目标处理器、运行期环境或主机环境影响的C语言特性,这些特性在各种标准的C编译器之间可能有不同。315.2DSPC

2、语言特性15.2.1TMS320C2000C语言的特征(1)标识符和常数所有标识符的前100个字符有意义,区分大小写。字符集为ASCII码,不存在多字节字符。具有多个字符的字符常数按序列中最后一个字符来编码,例如:‘abc’==‘c’(2)数据转换4浮点到整数的转换,取整数部分。指针和整数可以自由转换。(3)表达式当两个有符号整数相除时,若其中一个为负,则其商为负,余数的符号与分子的符号相同。斜杠(/)用来求商,例如:10/-3=-3,-10/3=-3,百分号(%)用来求余数,例如:10%-3=1

3、,-10%3=-15(4)声明寄存器变量对所有char,short,int和指针类型有效。关键字interrupt仅可用于无参量的void函数。(5)预处理预处理器忽略任何不支持的#pragma伪指令。预处理器支持的伪指令包括:CODE_SECTOINDATA_SECTIONFUNC_EXT_CALLED615.2.2TMS320C2000C语言的数据类型注:在TMS320C2x/C2xx/C5xC语言中,字节长度为16位,sizeof操作符返回的对象长度是以16位为字节长度的字节数。例如size

4、of(int)=1。715.2.3TMS320C2000C语言的关键字const(常数)ioport(I/O端口)interrupt(中断)near(近)far(远)volatile(可变的)815.2.4寄存器变量一个函数中最多可使用两个寄存器变量。寄存器变量声明必须在变量列表或函数的起始处进行,在嵌套块中声明的寄存器变量被处理为一般的变量。编译器使用AR6和AR7作为寄存器变量:AR6被赋给第一个寄存器变量AR7被赋给第二个寄存器变量寄存器变量的地址会被放入分配的寄存器中,这样变量的访问速度会

5、更快。916位类型变量(char、short、int和指针)都可被定义为寄存器变量。但在运行时,设置一个寄存器变量大约需要4条指令,为了更有效地使用这个功能,仅当变量被访问超过2次时,才使用寄存器变量。程序优化编译器也会定义寄存器变量,但方式不同。编译器会自己决定哪些变量作为寄存器变量,程序中声明的寄存器变量会全部被忽略。寄存器变量声明的格式为:registertypereg;1015.2.5伪指令pragma伪指令pragma通知编译器的预处理器如何处理函数。TMS320C2000C编译器支持下

6、列pragma:CODE_SECTIONDATA_SECTIONFUNC_EXT_CALLED1.CODE_SECTION该伪指令在名称为sectionname的命名段中为symbol分配空间。语法为:11#pragmaCODE_SECTION(symbol,“sectionname”);2.DATA_SECTION为名称为sectionname的命名段中为symbol分配空间。语法为:#pragmaDATA_SECTION(symbol,“sectionname”);3.FUNC_EXT_CAL

7、LED当使用-pm选项时,编译器将使用程序级的优化。编译器将删除所有未被main函数直接或间接调用的函数。12而用户程序里可能包含要被手工编写的汇编语言程序调用而没有被main函数调用的函数,这时就应该用FUNC_EXT_CALLED来通知编译器保留此函数和被此函数调用到的函数,这些函数将作为C程序的入口点。这个伪指令必须出现在对要保留的函数的任何声明或引用之前,其语法为:#pragmaFUNC_EXT_CALLED(func);15.2.6asm语句C编译器可在编译器输出的汇编语言程序中直接输出

8、汇编指令或语句。利用asm语句嵌入汇编语言程序,可实现一些C语言13实现起来比较麻烦的硬件控制功能。asm语句在语法上就象是调用一个函数名为asm的函数,函数参数是一个字符串:asm(“assemblertext”);编译器会直接将“参数字符串”复制到输出的汇编语言程序中,因此必须保证参数双引号之间的字符串是一个有效的汇编语言指令。双引号之间的汇编指令必须以空格、制表符(TAB)、标记符(LABEL)或注释开头,这和汇编语言编程的要求是一致的。14编译器不会检查此汇编语句是否合法,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。