探析基于C语言的DSP程序设计

探析基于C语言的DSP程序设计【摘要】基于DSP程序设计在计算机程序设计中占有重要地位,使用C语言程序设计的DSP程序更好的发展,并避免问题传统的汇编语言移植性问题。本文从C语言的基本结构出发,探讨了C程序中CMD文件以及在程序中的具体应用及C编程的其他问题,为程序入门设计者提供借鉴。【关键词】C语言程序设计DSP程序移植性【中图分类号ITP311.1【文献标识码】A【文章编号】2095-3089(2013)12-0242-01传统的汇编语言依赖于计算机硬件,程序的可读性和可移植性较差,其适用性而临着很大的挑战,冃前急需要进行相应的改变。一般的高级语言具有很好的可移植性,其可以很好的利用函数库进行编辑,这就给了DSP程序编辑机会,发展机遇C语言的DSP程序编辑成为了DS卩的发展方向。C/C++语言,作为一种高级语言,能够访问物理地址和位置操作,可以直接操作硬件,适合DSP开发语言。一、C语言的结构C语言是需要按照其特定的结构进行编辑,才能够完美运行的。最基木的C语言包括:其一,C语言的入口,即main()函数的C语言源文件(.C);其二,链接命令文件,该文件包含一个DSP和目标板存储空间和定义的代码和数据段,其主要职能是决定如何存储空间分配等问题;其三,运行文件库,这里提供了C语言编辑的环境、标准库函数等。DSP的C语言编程基础上的一般过程是:中断模块的第一个指令设置为“BcintOO",rts2xx控制。自由_c_int00必须做为C运行时环境的入口点,在上而c.intOO()函数來完成初始化堆栈指针和全局变量的初始化操作,然后调用main()函数,将控制的功能,从而为应用程序执行。二、C程序中部分CMD文件以及在程序中的具体应用C语言程序编程环境与汇编语言编辑类似,编辑器对编译后的程序也会进行哎能够与的初始化操作,产生相应的初始化和未初始化段,在TMS320C2xx的C/C++编译器会产生以下几种初始化段和为初始化段:首先,初始化部分一般包括数据表或可执行代码,编辑生成的初始化部分汇编语言是相似的,只是名称不同,主要有:文本段。,cinit段落、常量、开关部分,这几个初始化部分内容:可执行代码分别和常量,初始化和固定数量的表,字符串常量和明显的初始化定义的全局和静态变量和初始化,switch语句列表。其次,未初始化的部分,其主要用途是空间保留为目的,保证程序的运行,也类似于汇编语言,只是名字改变,主要有:RSS,oEbss部分、堆栈,sysmem段落、Esysmem节,这几未初始化的全局变量和静态变量分别为:保留存储空间,远到修改全局和静态变量的存储空间,保留通过堆栈可以传递参数到函数或局部变量分配空间,让空间动态内存分配离开空间远修改动态内存分配(函数调用malloc(),()或者callocrealloc())。下面是利用C语言中断服务程序的实例:・refeinto,sehedulerTimerISR,wd—disable,—nothing.seetuveetors,,rset:Bwddisable;OOhresetinti:B-nothing;OZhTNTTintZ:B—nothing;OdhINTZint3:B—sehedulerTimer—ISR;O6hINT3int4:B—nothing;0shTNT4ints:B—nothing;OAhINTSint6:B—nothing;0ChINT6中断服务程序MW-e24xx-csl?C:interruptvoidnothing(void){三、C编程的其他问题(-)关键字DSP的C语言编辑器同样支持关键字、主包下面的四个关键词:其一,const关键字,它的主要功能是限制不能改变变量和数组。其二,volatile关键字,主要是起到修饰的效果,使用的关键变量,被访问的时候,不涉及原因变量存储更改,同时使用关键字可以使变量更快的阅读。其三,crgister关键字,这中关键字是一种调用高级语言的关键字,其可以使用高级语言直接进行DSP控制寄存器的访问,但是前提条件是此关键字修饰的对象需要符合寄存器的命名规则,不然会产生错误。crgister修饰不可以使用在函数的内容,仅仅对整型、指针变量进行crgister修饰,结构性的不能使用,否则程序报错。其四,中断关键字,是一种中断程序中,为一个特定的函数使用修改,使得程序中断,程序在运行时,这个函数的调用,自动返回中断,可以有效地保护寄存器。但是使用中断修改函数的入口就是必须使用空类型,同时,返回值也需要空类型,这样才可以正确的操作。(-)C运行支持库C运行库是支持C语言运行的基础,其中主...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?