国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于C語言的DSP程序設(shè)計研究

2017-07-29 12:42劉智勇
電腦知識與技術(shù) 2017年12期
關(guān)鍵詞:設(shè)計研究C語言

劉智勇

摘要:近年來,隨著科技的不斷發(fā)展與進(jìn)步,所用的開發(fā)語言也不斷增多,但是c語言作為最基礎(chǔ)的機(jī)器語言,自然有其自身不可替代的優(yōu)勢。c語言是一種極為高級的編程語言,簡單易學(xué),并且易于使用。c語言在開發(fā)過程中,效率極高,調(diào)試方便,它有其自身的高可靠性和可移植性好,使得它在進(jìn)行DSP程序設(shè)計時極為便利。所以,在進(jìn)行開發(fā)DSP系統(tǒng)時,大多采用c語言作為主要的編程語言。在DSP系統(tǒng)上使用c語言編程,可以簡化設(shè)計方法,提高系統(tǒng)的集成性,節(jié)約開發(fā)與設(shè)計成本,因此會越來越流行。

關(guān)鍵詞:c語言;DSP程序;集成性;設(shè)計研究

DSP系統(tǒng)對計算的實時性和準(zhǔn)確性要求較高,因此它在實時和準(zhǔn)實時系統(tǒng)中應(yīng)用廣泛。DSP自身具備的片內(nèi)結(jié)構(gòu),可以對信號進(jìn)行處理。另外DSP專門為系統(tǒng)的數(shù)字處理設(shè)計專門的指令系統(tǒng),用以快速執(zhí)行信號處理。眾所周知,匯編語言開發(fā)DSP系統(tǒng)一直存在諸多缺陷,隨著DSP應(yīng)用的逐步深入,這種缺陷更加突出。因此采用C語言編程,來解決突出的問題。C語言是高級開發(fā)語言,具備高效、靈活等特點,可以解決匯編語言開發(fā)過程中遇到的難度大,周期長,維護(hù)性差等缺點。在利用C語言編程的時候,利用算法結(jié)構(gòu)來優(yōu)化程序流程,提高算法大的執(zhí)行速度,提高其運行效率,滿足實時性的要求,保障系統(tǒng)的可靠運行。

1C語言的基本結(jié)構(gòu)

完整的C應(yīng)用程序是由主函數(shù)和子函數(shù)組成,每一個子函數(shù)都有其自身的功能,在DSP、系統(tǒng)中,c語言的入口地址固定為c_int00,并且在rts.1ib中定義。C語言有著豐富的數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)。我們知道,在CCS集成開發(fā)環(huán)境中,它為其提供了完整的硬件支持,包括底層函數(shù)庫和DSP算法函數(shù)庫。

通常來說,C英語程序至少要包含幾個重要的文件,其一,作為C程序入口點的main0函數(shù)的C語言源文件,也就是.c文件,它必須存在而且唯一,其主要作用是在等待系統(tǒng)庫初始化完畢之后,將控制權(quán)交給mainf)函數(shù);其二,定義DSP和目標(biāo)板的存儲空間,另外指明這些代碼段、數(shù)據(jù)段的存儲方式;其三,運行庫文件rts.1ib。一個完整的編譯器需要具備初始化環(huán)境,設(shè)置堆棧,還有提供標(biāo)準(zhǔn)c的庫函數(shù)等功能,而運行庫文件rts.1ib便提供了上述這些功能,方便開發(fā)。

用戶所編寫的程序要寫進(jìn)ROM存儲器,并且需要上電后才能直接運行,其中需要注意的是,這里面需要包含中斷向量表文件。所謂中斷向量表文件一種.asm形式的匯編文件,是執(zhí)行指令的地址。其地址主要是被鏈接器命令文件準(zhǔn)確定位在DSP復(fù)位后的一個地址。

一般C程序的基本結(jié)構(gòu)

#include“函數(shù)庫”//語句定義程序中使用的函數(shù)庫對應(yīng)的.h文件

#define宏替換名替換內(nèi)容//定義程序中所有的宏替換

函數(shù)類型函數(shù)名(函數(shù)參數(shù)列表)//內(nèi)部函數(shù)聲明

interrput void functio~name(void);//中斷服務(wù)程序聲明

變量類型全局變量名;//全局變量聲明

void main(void)//主函數(shù)mainf)

{函數(shù)類型函數(shù)名(函數(shù)參數(shù)列表)//內(nèi)部函數(shù)聲明

//函數(shù)的局部變量定義

//函數(shù)的算法}

C語言的數(shù)據(jù)類型也非常豐富,比如字符型、長/短整型,浮點型、枚舉型、指針等,DSP是16位的處理器,它的字符長度是16位,這里要特別注意各種數(shù)據(jù)類型的長度、內(nèi)容和表示的數(shù)值范圍大小。DSP的c語言編譯器具備良好的通用性,因此短整型和整型的數(shù)據(jù)類型是一樣的,浮點型、雙精度浮點型和長雙精度浮點型是一致的,在實際開發(fā)應(yīng)用中,通常將數(shù)據(jù)類型簡化,比如短整型和整型統(tǒng)一為im類型,而浮點類型的各種類型都統(tǒng)一為float。

2C語言實現(xiàn)DSP程序的設(shè)計過程

2.1中斷向量表的定位

所謂中斷向量,就是中斷服務(wù)程序地址。它需要裝載到存儲設(shè)備中去,一般情況下這些向量都被定位在0x0開始的程序存儲器中去,但是這樣的情況并不是特定的,有些也可以存儲在其他區(qū)域,比如微處理器模式下的TMS320系列就是如此。它的中斷服務(wù)程序地址定位就是在0x0開始的地址,另外6它還可以將中斷服務(wù)程序地址定位于OxffaO和Ox809fel。中斷服務(wù)程序地址也可以定位于任何2k字的程序存儲器中。PMST寄存器的IPTR與中斷向量表的定位有關(guān),一般來說,中斷向量表的有效基地址是0x0,……,Ox2000等等。

2.2實現(xiàn)方法

C語言開發(fā)過程中,對于中斷向量表的初始化有很多種辦法,但是都有不可忽視的缺陷,因此在進(jìn)行開發(fā)和調(diào)試的時候,需要特殊的辦法。這種辦法的主要目的是為了提高DsP系統(tǒng)的運行效率,提高DsP系統(tǒng)的運行效率,增強(qiáng)其開放性、靈活性和可維護(hù)性,彌補C語言開發(fā)的缺陷。其主要的原理是在C語言中建立一個運行的向量表,這個表要在C語言進(jìn)行中斷服務(wù)程序地址的裝載前期建立完成,代碼簡單,操作也非常方便,實現(xiàn)的辦法也有很多,常用的有以下兩種:

猜你喜歡
設(shè)計研究C語言
基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
基于C語言的計算機(jī)軟件編程
C語言程序設(shè)計課程教學(xué)與學(xué)科專業(yè)相結(jié)合的探索
小學(xué)語文口語交際課程目標(biāo)的設(shè)計
高職高專院校C語言程序設(shè)計教學(xué)改革探索
高中數(shù)學(xué)新課程中函數(shù)的教學(xué)設(shè)計研究
論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應(yīng)用
非計算機(jī)專業(yè)C語言教學(xué)探討
图们市| 永州市| 本溪市| 土默特左旗| 四子王旗| 兰州市| 隆安县| 静乐县| 平顶山市| 武威市| 农安县| 丰都县| 府谷县| 景泰县| 丰宁| 卢龙县| 怀仁县| 玛纳斯县| 兴文县| 沂水县| 弋阳县| 集安市| 彩票| 舞阳县| 平遥县| 武胜县| 云和县| 湄潭县| 藁城市| 德昌县| 乌兰浩特市| 渭南市| 云和县| 石屏县| 鲜城| 凤阳县| 英山县| 象州县| 随州市| 平江县| 渝中区|