版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C編譯器對(duì)C程序編譯后會(huì)自動(dòng)生成若干個(gè)可以進(jìn)行重定位的代碼和數(shù)據(jù)段。這些段分為兩種類型,一種是已初始化段,另一種是未初始化段。己初始化段主要包括數(shù)據(jù)和可執(zhí)行代碼,C編譯器共生成4個(gè)己初始化段?!?text段:包含可執(zhí)行代碼和字符串;·.cinit段:包含初始化變量和常數(shù)表;·.const段:字符串和switch表。在大存儲(chǔ)模式下,常數(shù)表也包含在本段中;·.swith段:包含為swith語(yǔ)句建立的表格。未初始化段用于保留存儲(chǔ)空間,程序利用這些空間在運(yùn)行時(shí)創(chuàng)建和存儲(chǔ)變量。C編譯器創(chuàng)建了一個(gè)未初始化段?!?bss段:保留全局和靜態(tài)變量空間。在程序開(kāi)始運(yùn)行時(shí),C初始化程序?qū)?shù)據(jù)從,cinit段拷貝到.bss段?!?stack段:系統(tǒng)堆棧段?!?system段:為動(dòng)態(tài)存儲(chǔ)函數(shù)malloc,calloc和realloc分配存儲(chǔ)空間。若程序中沒(méi)有用到這些函數(shù),編譯器就不創(chuàng)建.system段。2.C語(yǔ)言中進(jìn)行中斷處理使用C語(yǔ)言進(jìn)行中斷處理,包括以下步驟:1.創(chuàng)建中斷服務(wù)函數(shù);2.初始化中斷向量表,在存儲(chǔ)器映像中建立中斷向量;3.使能中斷;4.使能中斷源。在CCS中使用C語(yǔ)言創(chuàng)建中斷服務(wù)函數(shù),除了對(duì)其名稱有特殊要求外,它們同普通的C函數(shù)沒(méi)有區(qū)別。對(duì)定點(diǎn)DSP編譯器,中斷服務(wù)函數(shù)的名稱必須為c_intn,n代表0到9之間的一個(gè)數(shù)。如果使用6.50版的定點(diǎn)DSPC編譯器,可以使用關(guān)鍵字interrupt來(lái)代替c_intn。下例給出了中斷函數(shù)的兩種定義方式。voidc_intl(void){ReceiveCounter++;}InterruptvoidSerialPortReceiveISP(void){…}在匯編程序中引用C程序定義的變量或函數(shù),需要在相應(yīng)的變量名或函數(shù)名前加下劃線。比如函數(shù)c_intl()在匯編程序中引用時(shí)應(yīng)寫成_c_intl()的形式。在編寫中斷服務(wù)程序時(shí),需要注意以下幾點(diǎn):中斷向量的位置和中斷服務(wù)程序的功能是無(wú)關(guān)的,中斷服務(wù)程序的名字與其功能也無(wú)關(guān);·不能有任何參數(shù)傳送給中斷服務(wù)程序,中斷服務(wù)程序也不能返回參數(shù)。中斷服務(wù)程序建立以后,需要將其地址(中斷向量)裝載到存儲(chǔ)器的相應(yīng)位置。這可以通過(guò)創(chuàng)建中斷向量表文件實(shí)現(xiàn)。中斷向量表文件由匯編語(yǔ)言編寫,內(nèi)容為中斷向量和跳轉(zhuǎn)到指定地址指令。它的書寫格式比較固定,參看下例。=========?vectors.asm=========.sect“.vectors”.ref_c_int00;C程序執(zhí)行入口.align0x80;必須放置在頁(yè)邊界上RESET:BD_c_int00;執(zhí)行完該語(yǔ)句的下面一條語(yǔ)句后,跳轉(zhuǎn)到c_int00STM#200,SP;設(shè)置堆棧大小為200個(gè)字nmi:RETE;非屏蔽中斷返回NOPNOPNOP;軟件中斷sintl7.space4*16sintl8.space4*16sintl9.space4*16sint20.space4*16sint2l.space4*16sint22.space4*16sint23.space4*16sint24.space4*16sint25.space4*16sint26.space4*16sint27.space4*16sint28.space4*16sint29.space4*16sint30.space4*16int0:RETE;外部中斷0NOPNOPNOPintl:RETE;外部中斷1NOPNOPNOPint2:RETE;外部中斷2NOPNOPNOPtint:RETE;定時(shí)器0中斷NOPNOPNOPrint0:RETE;多通道緩沖串口0接收數(shù)據(jù)中斷NOPNOPNOPxintl:RETE;多通道緩沖串口1發(fā)送數(shù)據(jù)中斷NOPNOPNOPInt3:RETE;外部中斷3NOPNOPNOPend指令.sect表明本文件是中斷向量表文件。align0x80將SPC(Sectionprogramcounter)的值置于本段頁(yè)邊界上。.space用于處理未用的或者保留的中斷向量位置,對(duì)C54xDSP而言,它保留的空間的大小以位(bit)計(jì)算。另外,C54xDSP要求每個(gè)中斷矢量占用4個(gè)字,如果不夠4個(gè)字,可用NOP指令填充,每個(gè)NOP指令占用1個(gè)字。中斷向量表文件創(chuàng)建完成后,需要將其加入到工程中同其它文件一起編譯、鏈接。
附錄二系統(tǒng)控制源程序CMD文件;FileName:exp03.asm;learnhowtooperatetheI/Oports;getsomeknowledgeoftherts.libfile .mmregs .global _main .text_main: stm 3000h,sp;initpointerto3000h;***********************************************;***********initpausedata*********************;*********************************************** stm 1000h,ar1;definetheaddress stm03h,ar2;4phase stm40h,ar5;sumrotatenumber st 0003h,*ar1+;0--1100(abcd) st0006h,*ar1+;1--0110(abcd) st000ch,*ar1+;2--0011(abcd) st0009h,*ar1+;3--1001(abcd);***********************************************;***********positiverotate*********************;*********************************************** loopa3:stm40h,ar5;sumpositiverotatenumberloopa1: stm1000h,ar1 stm03h,ar2;******************************************** loopa2: portw *ar1+,01h nop nopcall delay banzloopa2,*ar2- call delayb banzloopa1,*ar5-;***********************************************;***********reverserotate**********************;*********************************************** loopb3:stm40h,ar5;;sumreverserotatenumberloopb1: stm1003h,ar1 stm03h,ar2;********************************************loopb2: p
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二年級(jí)體育下冊(cè) 50米快速跑教案
- 2024年七年級(jí)歷史上冊(cè) 第11課《西漢建立和“文景之治”》教案 新人教版
- 2024年高中物理 第四章 第4節(jié) 力學(xué)單位制教案 新人教版必修1
- 2023七年級(jí)數(shù)學(xué)上冊(cè) 第2章 整式加減2.1 代數(shù)式 3代數(shù)式的值教案 (新版)滬科版
- 江蘇省徐州市銅山區(qū)八年級(jí)地理上冊(cè) 2.2中國(guó)的氣候 氣溫教案2 (新版)湘教版
- 初中體育 立定跳遠(yuǎn)教案 人教新課標(biāo)版
- 2024-2025學(xué)年高中政治 專題1 2 現(xiàn)代國(guó)家的政權(quán)組織形式教案 新人教版選修3
- 心電圖使用 課件
- 租碟機(jī)合同(2篇)
- 蘇教版旋轉(zhuǎn)課件
- 文藝復(fù)興史學(xué)習(xí)通課后章節(jié)答案期末考試題庫(kù)2023年
- 2022年廣西普通高中學(xué)業(yè)水平合格性考試英語(yǔ)學(xué)科參考試題
- 《平均數(shù)》(課件)人教版四年級(jí)下冊(cè)數(shù)學(xué)
- 醫(yī)療文書規(guī)范管理制度
- 山東第一醫(yī)科大學(xué)英語(yǔ)1(本)期末復(fù)習(xí)題
- 《相學(xué)集存》優(yōu)秀課件
- (完整版)新概念青少版1a1-10測(cè)試卷
- 國(guó)家開(kāi)放大學(xué)《教育組織行為與管理案例》大作業(yè)參考答案
- 2018年上半年全市中小學(xué)部分學(xué)科德育優(yōu)質(zhì)課評(píng)選結(jié)果
- 低壓開(kāi)關(guān)柜預(yù)防性試驗(yàn)報(bào)告
- 2023年江蘇蘇州工業(yè)園區(qū)管委會(huì)招聘筆試參考題庫(kù)附帶答案詳解
評(píng)論
0/150
提交評(píng)論