- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第八章
DSP芯片C语言开发;DSP芯片C语言开发简介;DSPC语言:C运行环境(1);注意:这些数据类型在float.h和limits.h中定义;8.2.2C语言的数据访问方法;1.DSP片上寄存器的访问;例:主程序中对SWWSR和BSCR初始化;2.DSP内部和外部存储器的访问;3.DSPI/O端口的访问;3.DSPI/O端口的访问;8.2.3C和汇编的混合编程方法;1、独立编写C程序和汇编程序;汇编程序:
.bss_var,1;定义变量
.global_var;说明为外部变量
C程序:
externintvar;/*外部变量*/
var=1;/*访问变量*/;C程序:
globalinti;/*定义i为全局变量*/
globalfloatx;/*定义x为全局变量*/
main()
{
}
汇编程序:
.ref_i;说明_i为外部变量
.ref_x;说明_x为外部变量
LD@_i,DP
STL_x,A;2、在C程序中嵌入汇编语句;嵌入汇编语句的方法比较简单,只需在汇编语句的左右加上一个双引号,用小括弧将汇编语句括住,在括弧前加上asm标识符即可,如下所示。
asm(“汇编语句”);
在C程序中直接嵌入汇编语句的一个典型应用是控制DSP芯片的一些硬件资源。
;TMS320C5409在C程序中一般常用下列汇编语句实现一些硬件控制;3、对C程序进行编译生成相应的汇编程序,
然后对汇编程序进行手工优化和修改。;8.2.4中断函数;中断函数定义方式一:;中断函数定义方式二:;DSPC语言:C运行环境(2);存储器大小模式(P217);DSPC语言:C运行环境(3);软件开发平台(补充)
传统软件开发方法;软件开发平台
TI免费提供的基础软件;软件开发平台
TI免费提供的基础软件;软件开发平台
TI倡导的DSP软件架构;软件开发平台
DSP/BIOS:功能;软件开发平台
DSP/BIOS:功能;软件开发平台
DSP/BIOS:使用;软件开发平台
CSL;软件开发平台
CSL:特点;软件开发平台
DDK(DriverDevelopmentKit);软件开发平台
DDK(DriverDevelopmentKit);软件开发平台
SignalProcessingLibrary;软件开发平台
SignalProcessingLibrary;软件开发平台
DSPAlgorithmStandard(XDAIS);软件开发平台
ReferenceFramework;软件开发平台
ReferenceFramework;系统调试过程;软件调试
程序的编辑、编译和链接
软件模拟器(Simulator):无需硬件,由PC机软件模拟DSP指令
软件仿真器(Emulator):目标DSP与PC机通过仿真器连接,编译、链接得到的可执行程序通过仿真器下装到目标DSP中,目标DSP的状态通过仿真器上传到PC机显示
所有这些均包含在CCS集成调试环境中
;8.2.5其他注意事项(217);采用C优化编译时,一般当asm语句仅涉及诸如控制中断寄存器等硬件操作时,使用优化是比较安全的。
可以使用volatile关键字避免优化(P218)。
C54xC/C++编译器支持标准C的关键字const。这个关键字用来定义那些值不变的变量。但是在定义时const的位置是十分重要的。;
由于在C语言的环境下,局部变量的寻址必须通过SP寄存器实现,在混合编程的时候,为了使汇编语言不影响堆栈寄存器SP,通常的方式是在汇编环境中使用DP方式寻址,这样可以使二者互不干扰。
编程中只要注意对CPL位正确设置即可。当CPL=0时,使用页指针DP;当CPL=1时,使用堆栈指针SP。;编译后的C程序跑飞一般是对不存在的存储区访问造成的。
首先要查.map文件与memorymap图对比,看是否超出范围。
如果在有中断的程序中跑飞,应重点检查在中断程序中是否对所用到的寄存器进行了压栈保护。
如果在中断程序中调用了C程序,则要查汇编后的C程序中是否用到了没有被保护的寄存器并提供保护(在C程序的编译中是不对A、B等寄存器进行保护的)。
您可能关注的文档
- TMS320C5000系列DSP原理及应用(第二版)课件1-1 DSP概述及运算基础.pptx
- TMS320C5000系列DSP原理及应用(第二版)课件2-1 CPU结构和存储器配置.pptx
- TMS320C5000系列DSP原理及应用(第二版)课件3-2(1)寻址方式.pptx
- TMS320C5000系列DSP原理及应用(第二版)课件3-2(2)指令系统.pptx
- TMS320C5000系列DSP原理及应用(第二版)课件4-3(1)汇编语言程序开发.pptx
- TMS320C5000系列DSP原理及应用(第二版)课件5-1 总线结构.pptx
- TMS320C5000系列DSP原理及应用(第二版)课件6-1 片内外设.pptx
- TMS320C5000系列DSP原理及应用(第二版)课件7-4(2)导入volume工程.ppt
- TMS320C5000系列DSP原理及应用(第二版)课件8-4(2) DSP芯片应用.pptx
- TMS320C5000系列DSP原理及应用(第二版)课件8-4(3)画卷视频预览和导航.pptx
文档评论(0)