论文部分内容阅读
【摘要】基于DSP程序设计在计算机程序设计中占有重要地位,使用C语言程序设计的DSP程序更好的发展,并避免问题传统的汇编语言移植性问题。本文从C语言的基本结构出发,探讨了C程序中CMD文件以及在程序中的具体应用及C编程的其他问题,为程序入门设计者提供借鉴。
【关键词】C语言 程序设计 DSP程序 移植性
【中图分类号】TP311.1 【文献标识码】A 【文章编号】2095-3089(2013)12-0242-01
传统的汇编语言依赖于计算机硬件,程序的可读性和可移植性较差,其适用性面临着很大的挑战,目前急需要进行相应的改变。一般的高级语言具有很好的可移植性,其可以很好的利用函数库进行编辑,这就给了DSP程序编辑机会,发展机遇C语言的DSP程序编辑成为了DSP的发展方向。C / C + +语言,作为一种高级语言,能够访问物理地址和位置操作,可以直接操作硬件,适合DSP开发语言。
一、C语言的结构
C语言是需要按照其特定的结构进行编辑,才能够完美运行的。最基本的C语言包括:其一,C语言的入口,即main()函数的C语言源文件(.C);其二,链接命令文件,该文件包含一个DSP和目标板存储空间和定义的代码和数据段,其主要职能是决定如何存储空间分配等问题;其三,运行文件库,这里提供了C语言编辑的环境、标准库函数等。DSP的C语言编程基础上的一般过程是:中断模块的第一个指令设置为“B_c_int00”, rts2xx控制。自由_c_int00 必须做为C运行时环境的入口点,在上面c_int00()函数来完成初始化堆栈指针和全局变量的初始化操作,然后调用main()函数,将控制的功能,从而为应用程序执行。
二、C程序中部分CMD文件以及在程序中的具体应用
C语言程序编程环境与汇编语言编辑类似,编辑器对编译后的程序也会进行哎能够与的初始化操作,产生相应的初始化和未初始化段,在TMS320C2xx的C/C++编译器会产生以下几种初始化段和为初始化段:首先,初始化部分一般包括数据表或可执行代码,编辑生成的初始化部分汇编语言是相似的,只是名称不同,主要有:文本段。,cinit段落、常量、开关部分,这几个初始化部分内容:可执行代码分别和常量,初始化和固定数量的表,字符串常量和明显的初始化定义的全局和静态变量和初始化,switch语句列表。其次,未初始化的部分,其主要用途是空间保留为目的,保证程序的运行,也类似于汇编语言,只是名字改变,主要有:BSS,。Ebss部分、堆栈,sysmem段落、Esysmem节,这几未初始化的全局变量和静态变量分别为:保留存储空间,远到修改全局和静态变量的存储空间,保留通过堆栈可以传递参数到函数或局部变量分配空间,让空间动态内存分配,离开空间远修改动态内存分配(函数调用malloc(),()或者calloc realloc())。下面是利用C语言中断服务程序的实例:
.ref_e_into,_sehedulerTimer_ISR,wd—disable,—nothing
.seet“veetors,,
rset:Bwd_disable;OOhreset
intl:B—nothing;OZhINTI
intZ:B—nothing;O4hINTZ
int3:B—sehedulerTimer—ISR;O6hINT3
int4:B—nothing;OshINT4
ints:B—nothing;OAhINTS
int6:B—nothing;OChINT6
中断服务程序MW—e24xx—csl·C:
interruptvoidnothing(void)
{
三、C编程的其他问题
(一)关键字
DSP的C语言编辑器同样支持关键字、主包下面的四个关键词:其一,const关键字,它的主要功能是限制不能改变变量和数组。其二,volatile关键字,主要是起到修饰的效果,使用的关键变量,被访问的时候,不涉及原因变量存储更改,同时使用关键字可以使变量更快的阅读。其三,crgister关键字,这中关键字是一种调用高级语言的关键字,其可以使用高级语言直接进行DSP控制寄存器的访问,但是前提条件是此关键字修饰的对象需要符合寄存器的命名规则,不然会产生错误。crgister修饰不可以使用在函数的内容,仅仅对整型、指针变量进行crgister修饰,结构性的不能使用,否则程序报错。其四,中断关键字,是一种中断程序中,为一个特定的函数使用修改,使得程序中断,程序在运行时,这个函数的调用,自动返回中断,可以有效地保护寄存器。但是使用中断修改函数的入口就是必须使用空类型,同时,返回值也需要空类型,这样才可以正确的操作。
(二)C运行支持库
C运行库是支持C语言运行的基础,其中主要是库函数,通过使用库函数来完成相应的程序编辑器。C运行库支持库文件位于\C2000\cgtools\lib,其中包括支持C语言库函数和相应的运行操作功能和程序入口等。如果用户需要对运行支持库中的相关文件进行修改,需要利用归档器和建库器,对C语言的支持库进行相关的操作,没有过硬的技术,一般不需要进行更改,以免产生程序错误。
四、结语
程序是计算机操作上的基础,经过多年的发展,DSP已经经历了机器语言程序设计、汇编语言,如低级语言,那么当前转变逐步向高级语言C语言。C语言进行程序设计,其可移植性高,并且操作相对简单,将成为以后程序编程的主要语言。C语言的操作遵循相应的程序的原理,基于C语言的DSP编程,需要遵守C语言的相关原则,只有这样进行编程,才能保证编辑程序的正确运行。
参考文献:
[1]冯家旺.计算机程序设计的要点与规范分析[J].计算机光盘软件与应用,2013(04).
[2]王玮,万隆.DSP原理与实例应用[M].北京:清华大学出版社,2011(06).
[3]王西美.Java语言与C语言代码运行效率的比较[J].计算机光盘软件与应用,2013(06).
[4]陈久娅.C语言与汇编语言的混合程序设计技术研究[J].电子制作,2013(04).
【关键词】C语言 程序设计 DSP程序 移植性
【中图分类号】TP311.1 【文献标识码】A 【文章编号】2095-3089(2013)12-0242-01
传统的汇编语言依赖于计算机硬件,程序的可读性和可移植性较差,其适用性面临着很大的挑战,目前急需要进行相应的改变。一般的高级语言具有很好的可移植性,其可以很好的利用函数库进行编辑,这就给了DSP程序编辑机会,发展机遇C语言的DSP程序编辑成为了DSP的发展方向。C / C + +语言,作为一种高级语言,能够访问物理地址和位置操作,可以直接操作硬件,适合DSP开发语言。
一、C语言的结构
C语言是需要按照其特定的结构进行编辑,才能够完美运行的。最基本的C语言包括:其一,C语言的入口,即main()函数的C语言源文件(.C);其二,链接命令文件,该文件包含一个DSP和目标板存储空间和定义的代码和数据段,其主要职能是决定如何存储空间分配等问题;其三,运行文件库,这里提供了C语言编辑的环境、标准库函数等。DSP的C语言编程基础上的一般过程是:中断模块的第一个指令设置为“B_c_int00”, rts2xx控制。自由_c_int00 必须做为C运行时环境的入口点,在上面c_int00()函数来完成初始化堆栈指针和全局变量的初始化操作,然后调用main()函数,将控制的功能,从而为应用程序执行。
二、C程序中部分CMD文件以及在程序中的具体应用
C语言程序编程环境与汇编语言编辑类似,编辑器对编译后的程序也会进行哎能够与的初始化操作,产生相应的初始化和未初始化段,在TMS320C2xx的C/C++编译器会产生以下几种初始化段和为初始化段:首先,初始化部分一般包括数据表或可执行代码,编辑生成的初始化部分汇编语言是相似的,只是名称不同,主要有:文本段。,cinit段落、常量、开关部分,这几个初始化部分内容:可执行代码分别和常量,初始化和固定数量的表,字符串常量和明显的初始化定义的全局和静态变量和初始化,switch语句列表。其次,未初始化的部分,其主要用途是空间保留为目的,保证程序的运行,也类似于汇编语言,只是名字改变,主要有:BSS,。Ebss部分、堆栈,sysmem段落、Esysmem节,这几未初始化的全局变量和静态变量分别为:保留存储空间,远到修改全局和静态变量的存储空间,保留通过堆栈可以传递参数到函数或局部变量分配空间,让空间动态内存分配,离开空间远修改动态内存分配(函数调用malloc(),()或者calloc realloc())。下面是利用C语言中断服务程序的实例:
.ref_e_into,_sehedulerTimer_ISR,wd—disable,—nothing
.seet“veetors,,
rset:Bwd_disable;OOhreset
intl:B—nothing;OZhINTI
intZ:B—nothing;O4hINTZ
int3:B—sehedulerTimer—ISR;O6hINT3
int4:B—nothing;OshINT4
ints:B—nothing;OAhINTS
int6:B—nothing;OChINT6
中断服务程序MW—e24xx—csl·C:
interruptvoidnothing(void)
{
三、C编程的其他问题
(一)关键字
DSP的C语言编辑器同样支持关键字、主包下面的四个关键词:其一,const关键字,它的主要功能是限制不能改变变量和数组。其二,volatile关键字,主要是起到修饰的效果,使用的关键变量,被访问的时候,不涉及原因变量存储更改,同时使用关键字可以使变量更快的阅读。其三,crgister关键字,这中关键字是一种调用高级语言的关键字,其可以使用高级语言直接进行DSP控制寄存器的访问,但是前提条件是此关键字修饰的对象需要符合寄存器的命名规则,不然会产生错误。crgister修饰不可以使用在函数的内容,仅仅对整型、指针变量进行crgister修饰,结构性的不能使用,否则程序报错。其四,中断关键字,是一种中断程序中,为一个特定的函数使用修改,使得程序中断,程序在运行时,这个函数的调用,自动返回中断,可以有效地保护寄存器。但是使用中断修改函数的入口就是必须使用空类型,同时,返回值也需要空类型,这样才可以正确的操作。
(二)C运行支持库
C运行库是支持C语言运行的基础,其中主要是库函数,通过使用库函数来完成相应的程序编辑器。C运行库支持库文件位于\C2000\cgtools\lib,其中包括支持C语言库函数和相应的运行操作功能和程序入口等。如果用户需要对运行支持库中的相关文件进行修改,需要利用归档器和建库器,对C语言的支持库进行相关的操作,没有过硬的技术,一般不需要进行更改,以免产生程序错误。
四、结语
程序是计算机操作上的基础,经过多年的发展,DSP已经经历了机器语言程序设计、汇编语言,如低级语言,那么当前转变逐步向高级语言C语言。C语言进行程序设计,其可移植性高,并且操作相对简单,将成为以后程序编程的主要语言。C语言的操作遵循相应的程序的原理,基于C语言的DSP编程,需要遵守C语言的相关原则,只有这样进行编程,才能保证编辑程序的正确运行。
参考文献:
[1]冯家旺.计算机程序设计的要点与规范分析[J].计算机光盘软件与应用,2013(04).
[2]王玮,万隆.DSP原理与实例应用[M].北京:清华大学出版社,2011(06).
[3]王西美.Java语言与C语言代码运行效率的比较[J].计算机光盘软件与应用,2013(06).
[4]陈久娅.C语言与汇编语言的混合程序设计技术研究[J].电子制作,2013(04).