dsp中斷設(shè)置簡(jiǎn)明教程

dsp中斷設(shè)置簡(jiǎn)明教程

ID:12407314

大?。?1.50 KB

頁(yè)數(shù):9頁(yè)

時(shí)間:2018-07-16

dsp中斷設(shè)置簡(jiǎn)明教程_第1頁(yè)
dsp中斷設(shè)置簡(jiǎn)明教程_第2頁(yè)
dsp中斷設(shè)置簡(jiǎn)明教程_第3頁(yè)
dsp中斷設(shè)置簡(jiǎn)明教程_第4頁(yè)
dsp中斷設(shè)置簡(jiǎn)明教程_第5頁(yè)
資源描述:

《dsp中斷設(shè)置簡(jiǎn)明教程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、一、?簡(jiǎn)述本文介紹TMS320C6000系列中斷設(shè)置的簡(jiǎn)明方法。通過(guò)示例定時(shí)器中斷,MCBSP串口接收中斷及外部中斷這三種中斷實(shí)現(xiàn)過(guò)程,介紹如何實(shí)現(xiàn)中斷各個(gè)寄存器的配置,中斷向量表書寫以及中斷服務(wù)函數(shù)。最后提供一個(gè)簡(jiǎn)要的示例程序可供大家下載使用。此示例在DSK6416的TI官方實(shí)驗(yàn)板上通過(guò)測(cè)試。由于定時(shí)器和串口工作模式較繁,因此對(duì)中斷無(wú)關(guān)部分不做介紹。二、?實(shí)現(xiàn)DSP中斷需要做哪些通用工作設(shè)置允許哪些非屏蔽中斷設(shè)置各個(gè)允許的非屏蔽中斷的中斷來(lái)源設(shè)置開啟總中斷設(shè)計(jì)中斷向量表將中斷向量表通過(guò)cmd文件掛載到指令內(nèi)存提供中斷處理

2、函數(shù)如果中斷向量表首地址掛載的不是0地址,那么需要設(shè)置中斷向量表地址寄存器對(duì)于不同的中斷源,需要做各個(gè)自己的工作,比如如果是外部中斷,那么需要設(shè)置管腳極性,即由高->低產(chǎn)生中斷抑或反之。為了照顧知識(shí)較少的讀者,下面將從一個(gè)新工程出發(fā),引導(dǎo)大家建立一個(gè)中斷示例程序。如果您對(duì)建立工程很熟悉,可以跳過(guò)此步。三、?建立新工程1.點(diǎn)擊Project->New,設(shè)置ProjectName為intexample,ProjectType為Executable,Target選擇您需要的器件,在此由于本人使用的是DSK6416評(píng)估板。因此選擇

3、TMS320C64XX。2.添加標(biāo)準(zhǔn)庫(kù)rts6400.lib,以便自動(dòng)產(chǎn)生c_int00等函數(shù)。右擊當(dāng)前工程,選擇“AddFilestoProject”,選擇庫(kù)所在路徑,一般為CCS安裝自帶,可參考本CCS3.1版本的路徑地址:CCStudio_v3.1C6000cgtoolslibrts6400.lib如果您使用的是其他器件類型,請(qǐng)?jiān)趌ib文件夾內(nèi)選擇其他器件庫(kù)。添加源文件,選擇File->New->SourceFile,保存為main.c到工程路徑下。在此文件內(nèi)書寫主函數(shù)。voidmain(void){?wh

4、ile(1);}最后通過(guò)如2步驟添加此文件到工程。3.添加寄存器別名定義頭文件。在本示例中,對(duì)需要用到的寄存器定義別名后,構(gòu)成global.h文件,內(nèi)容在后文逐步介紹。在此可以建立一個(gè)空文件,并在main.c中包括它。#include"global.h"到此,一個(gè)DSP的新工程框架制作完畢。4.添加cmd鏈接文件?為了實(shí)現(xiàn)鏈接時(shí)內(nèi)存配置,我們需要提供一個(gè)cmd文件,為了方便,可以從官方的示例程序中拷貝一份,再加以修改。?在安裝目錄下D:CCStudio_v3.1tutorial器件類型hello1示例下,會(huì)找到一個(gè)

5、hello1.cmd,?將其拷貝到本工程目錄下,并將其改名為link.cmd,最后將其添加到工程中。?由于此文件沒(méi)有聲明stack和heap,會(huì)產(chǎn)生警告,如果動(dòng)態(tài)數(shù)據(jù)較多也容易溢出。因此我們最好在此文件提供stack和heap的大小,其值可根據(jù)實(shí)際情況調(diào)整,修改后,此文件內(nèi)容類似為:-stack0x1000-heap0x1000MEMORY{??ISRAM??????:origin=0x0,????????len=0x1000000}SECTIONS{???????.vectors>ISRAM???????.text???

6、>ISRAM???????.bss????>ISRAM???????.cinit??>ISRAM???????.const??>ISRAM???????.far????>ISRAM???????.stack??>ISRAM???????.cio????>ISRAM???????.sysmem?>ISRAM}至此,工程建立完畢,可以編譯一遍,觀察是否正常。---------------------------?intexample.pjt-Debug?---------------------------[main.c]"D

7、:CCStudio_v3.1C6000cgtoolsbincl6x"-g-fr"D:/intexample/Debug"-d"_DEBUG"-mv6400-@"Debug.lkf""main.c"[Linking...]"D:CCStudio_v3.1C6000cgtoolsbincl6x"-@"Debug.lkf"BuildComplete,?0Errors,0Warnings,0Remarks.四、?定時(shí)器中斷設(shè)計(jì)首先,我們先實(shí)現(xiàn)一個(gè)定時(shí)器中斷,因?yàn)樗皇芡獠坑绊?,容易測(cè)試。在gl

8、obal.h文件中,加入控制寄存器和中斷寄存器別名定義,另外為了使用定時(shí)器1,也應(yīng)對(duì)其別名進(jìn)行定義:/*定義控制寄存器*/externcregistervolatileunsignedintAMR;????/*AddressModeRegister?????*/externcregistervolati

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。