51CCS集成開發(fā)環(huán)境簡介ppt課件_第1頁
51CCS集成開發(fā)環(huán)境簡介ppt課件_第2頁
51CCS集成開發(fā)環(huán)境簡介ppt課件_第3頁
51CCS集成開發(fā)環(huán)境簡介ppt課件_第4頁
51CCS集成開發(fā)環(huán)境簡介ppt課件_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、教學(xué)要求: 了解CCS開發(fā)環(huán)境具有的功能,可以操作CCS的窗口、菜單和工具條。掌握CCS工程管理的概念,可以完成簡單程序的編輯、匯編、銜接和調(diào)試,并掌握探針和顯示圖形的運(yùn)用。 CCS是TI公司DSP軟件的集成開發(fā)環(huán)境IDE,本章以CCS2.0為參照講述。 5.1 CCS集成開發(fā)環(huán)境簡介 Windows下任務(wù),類似于VC+的集成開發(fā)環(huán)境; 采用圖形接口界面,有編輯工具和工程管理工具; 它將匯編器、鏈接器、C/C+編譯器、建庫工具等集成在一個一致的開發(fā)平臺中; CCS所集成的代碼調(diào)試工具具有各種調(diào)試功能,能對TMS320系列DSP進(jìn)展指令級的仿真和可視化的實時數(shù)據(jù)分析。 豐富的輸入/出庫函數(shù)和信號

2、處置庫函數(shù)。 C5000 是專門為開發(fā)C5000系列DSP系統(tǒng)C54x和C55x。 5.1 CCS集成開發(fā)環(huán)境簡介 5.1.1. CCS安裝及設(shè)置 1. CCS 2.0系統(tǒng)的安裝 5.1 CCS集成開發(fā)環(huán)境簡介CCS快捷圖標(biāo) 2. 系統(tǒng)配置 緣由:為使CCS IDE能任務(wù)在不同的硬件或仿真目的上 步驟: 雙擊桌面上的Setup CCS 2(C 5000)圖標(biāo),啟動CCS設(shè)置。 在彈出對話框中單擊“Clear按鈕,去除以前定義的配置。 從列出的可供選擇的配置文件中,選擇能與運(yùn)用的目的系統(tǒng)相匹配的配置文件。 單擊參與系統(tǒng)配置按鈕,將所選中的配置文件輸入到CCS設(shè)置窗口當(dāng)前正在創(chuàng)建的系統(tǒng)配置中。 單

3、擊“FileSave(保管)按鈕,將配置保管在系統(tǒng)存放器中。 當(dāng)完成CCS配置后,單擊“FileExit按鈕,退出CCS Setup。5.1 CCS集成開發(fā)環(huán)境簡介3. 系統(tǒng)啟動 雙擊桌面上CCS 2(C 5000)圖標(biāo),啟動CCS IDE顯示CCS主界面。5.1 CCS集成開發(fā)環(huán)境簡介5.1.2 . CCS的窗口、菜單和工具條 1.CCS的窗口 工程窗口:用來組織用戶的假設(shè)干程序并由此構(gòu)成一個工程,用戶可以從工程列表中選中需求編輯和調(diào)試的特定程序。 原程序編輯窗口:用戶既可以編輯程序,又可以設(shè)置斷點(diǎn)和探針,并調(diào)試程序。 反匯編窗口:協(xié)助用戶查看機(jī)器指令,查找錯誤。 內(nèi)存和存放器顯示窗口:查看

4、、編輯內(nèi)存和存放器。 圖形顯示窗口:可以根據(jù)用戶需求顯示數(shù)據(jù)。 主菜單:用戶可以經(jīng)過條目來管理各窗口。5.1 CCS集成開發(fā)環(huán)境簡介5.1 CCS集成開發(fā)環(huán)境簡介5.1 CCS集成開發(fā)環(huán)境簡介2.CCS的菜單 File 菜單:提供了與文件相關(guān)的命令, New ,Load 等 Edit菜單:提供了與編輯有關(guān)的命令, Register等 View菜單:能否顯示工具欄、窗口和各種對話框等Memory Project菜單:運(yùn)用工程管理設(shè)計文檔,Compile ,Biuld Debug菜單:提供常用調(diào)試命令,Breakpoints Probe Points Profiler 菜單:剖切點(diǎn)是CCS在調(diào)試程

5、序時,統(tǒng)計某一塊程序執(zhí)行所需求的CPU時鐘周期數(shù)、子程序被調(diào)用數(shù)和中斷發(fā)生次數(shù)等統(tǒng)計信息 Option菜單:提供CCS的一些設(shè)置選項 ,F(xiàn)ont 5.1 CCS集成開發(fā)環(huán)境簡介Project菜單(工程文件被存盤為*.pjt文件 )(1)Add Files to Project 工程中支持C源文件(*.c*)、匯編源文件(*.a*、*.s*)、 庫文件(*.o*、*.lib)、頭文件(*.h)和鏈接命令文件(*d) (2)Compile 對C或匯編源文件進(jìn)展編譯。(3)Biuld 重新編譯和鏈接。 (4)Rebuiled All 對工程中一切文件重新編譯并鏈接生成輸出文件。(5)Stop Bui

6、ld 停頓正在Build的進(jìn)程。(6)Biuld Options 用來設(shè)定編譯器、匯編器和鏈接器的參數(shù)。5.1 CCS集成開發(fā)環(huán)境簡介 3.CCS的工具欄 Standard Toolbar:包括新建、翻開、保管、剪切、復(fù)制、粘貼、取消、恢復(fù)、查找、打印和協(xié)助等 Project Toolbar:包括選擇當(dāng)前工程、編譯文件、設(shè)置和移去斷點(diǎn)/Probe Point等功能。 Edit Toolbar:提供一些常用的查找和設(shè)置標(biāo)簽命令。 GEL Toolbar:提供了執(zhí)行GEL函數(shù)的一種快捷方法。 ASM/Source Stepping Toolbar:提供了單步伐試C或匯編源程序的方法 Target

7、Control Toolbar:提供了目的程序控制的一些工具 Debug Window Toolbar:提供了調(diào)試窗口工具 5.1 CCS集成開發(fā)環(huán)境簡介5.1.3 . CCS的工程管理 CCS對程序采用工程(Project)的集成管理方法。工程堅持并跟蹤在生成目的程序或庫過程中的一切信息。 1.典型工程文件記錄的信息 源程序文件名和目的庫; 編譯器、匯編器和鏈接器選項; 頭文件; 2.創(chuàng)建和管理工程 工程的創(chuàng)建、翻開和封鎖ProjectNew/Open/Close 運(yùn)用工程察看窗口單擊工程文件夾、工程名(*.pjt)和各個文件夾上的“+/號即可 添加文件到工程 ProjectAdd File

8、s to Project 從工程中刪除文件Remove from Project 5.1 CCS集成開發(fā)環(huán)境簡介5.1.4 .調(diào)試 1裝載可執(zhí)行程序 FileLoad Program 2復(fù)位CCS提供4種方法 Reset DSP: DebugReset DSP命令初始化一切R并停頓運(yùn)轉(zhuǎn)程序。 Load Kernel: Lode Kernel 命令重新裝入DSP核 Why ? 假設(shè)用戶運(yùn)用一基于核的調(diào)試器不是JTAG,那么DSP核應(yīng)擔(dān)任主機(jī)的通訊。假設(shè)DSP核被破壞,那么設(shè)備驅(qū)動程序?qū)o法與目的板通訊。 Restart: Debug Restart 命令將PC恢復(fù)到當(dāng)前載入程序的入口地址,但不執(zhí)

9、行當(dāng)前程序。 Go main: Debug Go main命令提供了一種快速運(yùn)轉(zhuǎn)用戶運(yùn)用程序的方法。在主程序入口處設(shè)置暫時斷點(diǎn),然后開場執(zhí)行。當(dāng)程序被暫停或遇到一個斷點(diǎn)時,暫時斷點(diǎn)被刪除。 5.1 CCS集成開發(fā)環(huán)境簡介5.1.4 .調(diào)試?yán)m(xù)3程序執(zhí)行方式 單步執(zhí)行操作 單步進(jìn)入:DebugStep Into: 每操作一次,執(zhí)行一條指令; 單步執(zhí)行:DebugStep Over: 每操作一次,執(zhí)行一條指令函數(shù),子程序看作一條; 單步伐出:DebugStep Out: 從子程序跳出; 執(zhí)行到光標(biāo)處:Debug Run to Cursor:程序運(yùn)轉(zhuǎn)到光標(biāo)所在語句。 延續(xù)運(yùn)轉(zhuǎn)操作實時運(yùn)轉(zhuǎn) 運(yùn)轉(zhuǎn)程序:D

10、ebugRun:從當(dāng)前PC所指位置開場執(zhí)行到終了或斷點(diǎn); 停頓程序:Debug Halt:暫停程序的執(zhí)行; 自在運(yùn)轉(zhuǎn):Debug Run free:全速執(zhí)行用戶程序,忽略一切斷點(diǎn)。 5.1 CCS集成開發(fā)環(huán)境簡介 5.1.4 .調(diào)試?yán)m(xù)3程序執(zhí)行方式續(xù) 斷點(diǎn)運(yùn)轉(zhuǎn)程序動畫 在執(zhí)行各個命令前該當(dāng)預(yù)先設(shè)置好程序斷點(diǎn),每按一次按鈕,從當(dāng)前程序位置執(zhí)行到一切遇到的第一個斷點(diǎn),。 命令:Debug animate; 斷點(diǎn)設(shè)置: 探針probe斷點(diǎn):CCS在源程序某條語句上設(shè)置的一種斷點(diǎn)。每個探針斷點(diǎn)都有相應(yīng)的屬性用戶設(shè)置用來與一個文件的讀/寫相關(guān)聯(lián)。用戶程序運(yùn)轉(zhuǎn)到探針斷點(diǎn)所在語句時,自動讀入數(shù)據(jù)或?qū)⒂嬎憬Y(jié)果

11、輸出到某個文件中。 5.1 CCS集成開發(fā)環(huán)境簡介 5.1.4 .調(diào)試?yán)m(xù) 4存儲器、存放器、變量的操作 存儲器:拷貝數(shù)據(jù)塊/填充數(shù)據(jù)塊/察看/編輯內(nèi)存 存放器:顯示存放器/編輯存放器 變量:用察看窗口查看變量/編輯變量 5數(shù)據(jù)輸入/輸出 利用數(shù)據(jù)讀入/寫出功能命令:FileData(Lode /Save) 用途:偶爾的手工讀入/寫出場所 利用探針功能:適用于自動調(diào)入和輸出數(shù)據(jù)場所。 5.1 CCS集成開發(fā)環(huán)境簡介 5.1.4 .調(diào)試?yán)m(xù)6圖形窗口分析數(shù)據(jù) 提供了四類9種顯示功能:每種顯示所需的設(shè)置參數(shù)各不一樣。 時頻圖 星座圖:信號的相位分布; 眼圖:信號碼間干擾情況; 圖像顯示:YUV或RGB

12、; 5.1 CCS集成開發(fā)環(huán)境簡介 5.1.5 .通用擴(kuò)展言語GEL 通用擴(kuò)展言語GEL(General Extension Language)是一種與C類似的解釋性言語。 用途:利用GEL言語,用戶可以訪問實踐/仿真目的板,設(shè)置GEL菜單項選擇項,特別適宜用于自動測試和自定義任務(wù)空間。 詳細(xì)內(nèi)容:參見TI公司的手冊。 5.2 CCS 運(yùn)用舉例 5.2 CCS 運(yùn)用舉例經(jīng)過本例要引見的主要內(nèi)容: 創(chuàng)建一個工程文件 向工程中添加源文件 閱讀代碼、編譯和運(yùn)轉(zhuǎn)程序 修正Build選項并更正語法錯誤 運(yùn)用斷點(diǎn)和Watch 窗口 運(yùn)用探針的方法 圖形顯示的方法。 5.2 CCS 運(yùn)用舉例 1. 創(chuàng)建一個

13、工程 經(jīng)過“ProjectNew,在工程窗口的Project下面創(chuàng)建一個Volume工程。 2. 向工程中添加源文件 1經(jīng)過“ProjectAdd Files to Project,將Volume.c添加到工程中。 (2) 用同樣方法將Vector.asm添加到工程中。Vector.asm中包含的是將RESET中斷指向C程序入口c_int00的匯編指令和其他中斷的入口指令。假設(shè)調(diào)試的程序較為復(fù)雜,那么可在Vector.asm中定義更多的中斷矢量 (3) 將Volumed添加到工程文件中。該文件的作用是將段(Sections)分配到存儲器中 (4) 將load.asm添加到工程文件中。該文件包含

14、一個簡單的匯編循環(huán)程序,被C程序調(diào)用。調(diào)用時帶有一個參數(shù)(argument),執(zhí)行此程序共需約1000argument個指令周期 (5) 將“C:tic5400cgtoolslib下的rts.lib參與到工程文件中。該文件是采用C言語開發(fā)DSP運(yùn)用程序的運(yùn)轉(zhuǎn)支持庫函數(shù) 5.2 CCS 運(yùn)用舉例 3. 閱讀代碼 #include #include “volume.h /* Global declarations */ int inp_bufferBUFSIZE; /* processing data buffers */ int out_bufferBUFSIZE; int gain = MIN

15、GAIN; /* volume control variable */ unsigned int processingLoad = BASELOAD; /* processing routine load struct PARMS str = value */ 2934, 9432, 213, 9432, &str ; 5.2 CCS 運(yùn)用舉例 3. 閱讀代碼續(xù) /* Functions */ extern void load(unsigned int loadValue); static int processing(int *input, int *output);闡明: processi

16、ng函數(shù)將輸入buffer中的數(shù)與增益相乘,并將結(jié)果輸出給buffer,它調(diào)用匯編load例程的參數(shù)processingLoad的值計算指令周期的時間。 static void dataIO(void); 闡明:dataIO函數(shù)不執(zhí)行任何本質(zhì)操作。它沒有運(yùn)用C代碼執(zhí)行I/O操作,而是經(jīng)過CCS中的Probe Point工具,從PC文件中讀取數(shù)據(jù)到inp_buffer中,作為processing函數(shù)的輸入?yún)?shù)。 5.2 CCS 運(yùn)用舉例 3. 閱讀代碼續(xù)/* = main = */void main() int *input = &inp_buffer0; int *output = &out_

17、buffer0; puts(volume example startedn); /* loop forever */ while(TRUE) /* Read input data using a probe-point connected to a host file. Write output data to a graph connected through a probe-point. */ dataIO(); #ifdef FILEIO puts(begin processing) /* deliberate syntax error */ #endif /* apply gain *

18、/ processing(input, output); 5.2 CCS 運(yùn)用舉例 3. 閱讀代碼續(xù)/* = processing = * FUNCTION: apply signal processing transform to input signal. * * PARAMETERS: address of input and output buffers. * * RETURN VALUE: TRUE. */ static int processing(int *input, int *output) int size = BUFSIZE; while(size-) *output+

19、= *input+ * gain; load(processingLoad); /* additional processing load */ return(TRUE); 5.2 CCS 運(yùn)用舉例 3. 閱讀代碼續(xù) /* * = dataIO = * * FUNCTION: read input signal and write processed output signal. * * PARAMETERS: none. * * RETURN VALUE: none. */ static void dataIO() /* do data I/O */ return; 5.2 CCS 運(yùn)用舉例

20、 4. 編譯和運(yùn)轉(zhuǎn)程序 “ProjectRebuild All,對工程進(jìn)展重新編譯。 “FileLoad Program,選volume.out并翻開,將Build生成的程序加載到DSP。 “ViewMixed Source/ASM。該設(shè)置使得C程序與其匯編結(jié)果同時顯示。 “DebugGo Main。使得程序從主程序開場執(zhí)行。 “DebugRun,可以在Output窗口看到“begin processing信息。 “Debug Halt,中止正在執(zhí)行的程序。 5.2 CCS 運(yùn)用舉例 5. 運(yùn)用斷點(diǎn)和Watch 窗口將光標(biāo)放在“dataIO();行。單擊鼠標(biāo)右鍵,在彈出菜單上選Toggle b

21、reakpoint,設(shè)置斷點(diǎn)。選擇“ViewWatch Window,將出現(xiàn)Watch窗口。程序運(yùn)轉(zhuǎn)時Watch Window窗口將顯示要查看的變量值。選擇Watch1欄。在Watch1窗口單擊圖標(biāo),在name欄輸入dataIO。選擇“DebugGo Main。選擇“DebugRun,運(yùn)轉(zhuǎn)程序,顯示出dataIO是一個函數(shù),該函數(shù)存放的首地址是0 x00001457。 5.2 CCS 運(yùn)用舉例 6. 運(yùn)用探針 Probe Point 的方法 Probe Point的用途:有用工具,可從PC文件中存取數(shù)據(jù)。即 將PC文件中數(shù)據(jù)傳送到目的板上的buffer,供算法運(yùn)用。 將目的板上buffer中的

22、輸出數(shù)據(jù)傳送到PC文件中以供分析。 更新一個窗口,如由數(shù)據(jù)繪出的Graph窗口。 Probe Point與Breakpoints的異同點(diǎn): 一樣點(diǎn):都能中斷程序的運(yùn)轉(zhuǎn) 不同點(diǎn):Probe Point只是暫時中斷程序運(yùn)轉(zhuǎn),當(dāng)程序運(yùn)轉(zhuǎn)到Probe Point時會更新與之相連的窗口,然后自動繼續(xù)運(yùn)轉(zhuǎn)程序 Breakpoints中斷程序運(yùn)轉(zhuǎn)后,將更新一切翻開的窗口,且只能用人工的方法恢復(fù)程序運(yùn)轉(zhuǎn); Probe Point可與FILEIO配合,在目的板與PC文件之間傳送數(shù)據(jù),Breakpoints那么無此功能。 5.2 CCS 運(yùn)用舉例 Probe Point運(yùn)用舉例: 將PC上文件中的內(nèi)容作為測試數(shù)據(jù)

23、傳送到目的板。同時運(yùn)用一個斷點(diǎn)以便在到達(dá)Probe Point時自動更新一切翻開的窗口。 (1) 將光標(biāo)放在主函數(shù)的dataIO()行上。 (2) 單擊鼠標(biāo)右鍵,在彈出菜單中選擇“Toggle Probe Point,添加Probe Point。 (3) 在File菜單項選擇擇“File I/O,出現(xiàn)File I/O對話框,在對話框中選擇輸入/輸出文件。 (4) 在“File Input欄中,單擊Add File按鈕。 (5) 在volume.c文件所在目錄選擇sina.dat,并單擊翻開按鈕。此時將出現(xiàn)一個控制窗口,可以在運(yùn)轉(zhuǎn)程序時運(yùn)用這個窗口來控制數(shù)據(jù)文件的開場、停頓、前進(jìn)、后退等操作。5

24、.2 CCS 運(yùn)用舉例 Probe Point運(yùn)用舉例續(xù): (6) 在File I/O對話框中,在Address域填入inp_buffer,在length域填入100,選中Wrap Around復(fù)選框讀取數(shù)據(jù)的循環(huán)特性 (7) 單擊“Add Probe Point按鈕,將出現(xiàn)Break/Probe Points對話框,選中“Probe Points欄。 (8) 在Probe Point列表中顯示“VOLUME.C line 61 - No Connection。闡明該第61行曾經(jīng)設(shè)置Probe Point,但還沒有和PC文件關(guān)聯(lián)。 (9) 在Connect域,單擊向下箭頭并從列表中選sine.

25、dat。 (10) 單擊Replace按鈕,Probe Point列表框表示Probe Point已與sine.dat文件相關(guān)聯(lián)。 (11) 單擊“確定按鈕,F(xiàn)ile I/O對話框指示文件連至一個Probe Point。 (12) 單擊“確定按鈕,封鎖File I/O對話框。 5.2 CCS 運(yùn)用舉例 7. 運(yùn)用圖形顯示的方法 CCS提供很多方法將程序產(chǎn)生的數(shù)據(jù)圖形顯示,包括時域/頻域波形顯示,星座圖、眼圖等。 下面運(yùn)用時域/頻域波形顯示功能察看上例時域波形。 (1) 選擇“ViewGraphTime/Frequency(顯示圖形時域/頻域)。彈出Graph Property對話框,如右圖所示

26、。 5.2 CCS 運(yùn)用舉例 7. 運(yùn)用圖形顯示的方法續(xù) (2) 在Graph Property對話框中,更改Graph Title(圖形標(biāo)題)、Start Address(起始地址)、Acquisition BufferSize(采集緩沖區(qū)大小)、DSP Data Type(DSP數(shù)據(jù)類型)、Autoscale(自動伸縮屬性)及Maximum Y-value(最大Y值)。 (3) 單擊OK按鈕,出現(xiàn)一個顯示inp_buffer波形的圖形窗口。 (4) 在圖形窗口中右擊,從彈出菜單中選擇Clear Display,去除已顯示波形。 (5) 再次執(zhí)行“ViewGraphTime/Frequenc

27、y。 (6) 將Graph Title修正為output buffer,Start Address修正為out_buffer,其他設(shè)置不變。 (7) 單擊OK按鈕,出現(xiàn)一個顯示out_buffer波形的圖形窗口,右擊從菜單中選擇Clear Display命令,去除已有顯示波形。 5.2 CCS 運(yùn)用舉例 動態(tài)顯示圖形舉例: 由于Probe Point不會更新圖形顯示內(nèi)容。本例將設(shè)置一個斷點(diǎn),使圖形窗口自動更新。運(yùn)用Animate命令,使程序到達(dá)斷點(diǎn)時更新窗口后自動繼續(xù)運(yùn)轉(zhuǎn)。 (1) 在volume.c窗口,將光標(biāo)放在dataIO行上。 (2) 在該行同時設(shè)置一個斷點(diǎn)和一個Probe Point

28、,使程序中斷時執(zhí)行兩個操作:傳送數(shù)據(jù)和更新圖形顯示。 (3) 在Debug菜單單擊Animate。此命令將運(yùn)轉(zhuǎn)程序,碰到斷點(diǎn)后暫時中斷程序運(yùn)轉(zhuǎn),更新窗口顯示,然后繼續(xù)執(zhí)行程序(與Run不同的是,Animate會繼續(xù)執(zhí)行程序直到碰到下一個斷點(diǎn)。只需人為干涉時,程序才會真正中止運(yùn)轉(zhuǎn)??梢詫nimate命令了解為一個“運(yùn)轉(zhuǎn)中斷繼續(xù)的操作)。 5.2 CCS 運(yùn)用舉例 動態(tài)顯示圖形舉例續(xù): (5) 每次碰到Probe Point時,CCS將從sine.dat文件讀取100個樣值,并將其寫至輸入緩沖inp_buffer。由于sine.dat文件保管的是40個采樣值的正弦波形數(shù)據(jù),因此每個波形包括2.5

29、個sin周期波形,如以下圖所示。 (6) 選擇“DebugHalt(調(diào)試停頓),停頓程序運(yùn)轉(zhuǎn)。 5.2 CCS 運(yùn)用舉例 動態(tài)顯示圖形舉例續(xù): (7)調(diào)理增益運(yùn)用Watch功能改動輸出增益 output+=input+*gain 在Watch窗口右擊,選擇“Insert New Expression。 輸入Gain作為要察看的表達(dá)式,單擊OK按鈕。 在Watch窗口雙擊Gain。 在變量編輯窗口將Gain值由1改為10,單擊OK按鈕。 5.3 CCS仿真 5.3 CCS仿真 TMS320軟件仿真器是一個軟件程序,運(yùn)用主機(jī)的處置器和存儲器來仿真TMS320 DSP的微處置器和微計算機(jī)方式,從而進(jìn)

30、展軟件開發(fā)和非實時的程序驗證。 在PC機(jī)上,典型的仿真速度為每秒幾百條指令 5.3 CCS仿真 軟仿真器的性能 在主機(jī)上執(zhí)行用戶的DSP程序 修正和檢查存放器/ 顯示和修正數(shù)據(jù)及程序存儲器 外設(shè)、CACHE、PIPELINE(流水線)的時序仿真 設(shè)置斷點(diǎn)/單步執(zhí)行/產(chǎn)生中斷 跟蹤ACC、PC、AR、表達(dá)式的值等 對非法操作碼和無效數(shù)據(jù)輸入等提供出錯信息 執(zhí)行批處置文件中的命令 文件方式快速存儲和調(diào)用仿真參數(shù) 反匯編 周期計數(shù)并顯示 5.3 CCS仿真 1. 用Simulator仿真中斷 C54x允許用戶仿真外部中斷信號INT0INT3,并選擇中斷發(fā)生的時鐘周期。 方法:建立一個數(shù)據(jù)文件,并將其

31、銜接到4個中斷引腳中的一個即INT0INT3,或BIO引腳。(留意:時間間隔用CPU時鐘周期函數(shù)來表示,仿真從一個時鐘周期開場1 設(shè)置輸入文件 用文本編輯器編輯一個輸入文件,列出中斷間隔。格式: clock clock,logic valuerpt n |EOS其中:clock(時鐘周期)是指希望中斷發(fā)生時的CPU時鐘周期 logic value(邏輯值)只運(yùn)用于BIO引腳。必需運(yùn)用一個值去迫使信號在相應(yīng)的時鐘周期處置高位和置低位。 rpt n |EOS是一個可選參數(shù),代表一個循環(huán)修正。 5.3 CCS仿真 2 軟件仿真編程 建立輸入文件后,可運(yùn)用CCS提供的ToolsPin connect菜

32、單將輸入文件與中斷腳銜接或斷開。在輸入窗口的Command處根據(jù)需求選擇輸入如下命令。 pinc 命令格式:pinc引腳名,文件名。 功能:將輸入文件和引腳相連。 pinl 命令格式:pinl。 功能:顯示已銜接的引腳名和文件的絕對途徑名。 pind 命令格式:pind 引腳名。 功能:終了中斷,將文件從引腳上脫開。 5.3 CCS仿真 3 實例例 Simulator仿真INT3中斷,當(dāng)中斷信號到來時,中斷處置子程序完成將一變量存儲到數(shù)據(jù)存儲區(qū)中,中斷信號產(chǎn)生10次。 編寫中斷產(chǎn)生文件 設(shè)置輸入文件,列出中斷發(fā)生間隔。在文件zhongduan.txt 中寫入100(+100)rpt 10之后存

33、盤,此文件與中斷的INT3引腳銜接后,系統(tǒng)每隔100個時鐘周期發(fā)生一次中斷。 將輸入文件zhongduan.txt銜接到中斷引腳 在命令行輸入pinc INT3,zhongduan.txt,將INT3引腳與zhongduan.txt文件銜接。 5.3 CCS仿真 3 實例續(xù) 用匯編言語仿真中斷 a) 編寫中斷向量表 ;建立中斷向量 .sect “vectors .space 93*16 ;按中斷向量在表中預(yù)留一定空間 INT3 NOP ;外部中斷INT3 NOP NOP GOTO NT3 NOP .space 28*16 ;68h7Fh保管區(qū) 5.3 CCS仿真 用匯編言語仿真中斷 b) 編寫

34、主程序(留意:對中斷有關(guān)的存放器進(jìn)展初始化 .data a0 .word 0,0,0,0,0,0,0,0 .text .global _main_main:PMST = #01a0h ;初始化PMST存放器 SP=#27FFh ;初始化SP存放器 DP=#0 IMR=#100 ;初始化IMR存放器 AR1=#a0 a=#9611h INTM=0 ;開中斷w1: wait ;等待中斷信號 NOP NOP GOTO w1 5.3 CCS仿真 用匯編言語仿真中斷 c)編寫中斷效力程序。 NT3: NOP NOP (*AR1+)=a; NOP NOP return_enable .end 5.3 CC

35、S仿真 2.用Simulator仿真I/O接口 實現(xiàn)方法: 運(yùn)用系統(tǒng)提供的ToolsPort Connect菜單來銜接、脫開I/O接口; 選擇調(diào)試命令。單擊ToolsCommand Window,系統(tǒng)將彈出對話框,然后在Command處根據(jù)需求選擇輸入的命令。實現(xiàn)步驟: 定義存儲器映射方法; 銜接I/O接口; 脫開I/O接口。 5.3 CCS仿真 1 定義存儲器映射方法ma命令命令格式: ma address, page, length, type闡明: address 定義一個存儲區(qū)域的起始地址,此參數(shù)可以是一個絕對地址、C表達(dá)式、函數(shù)名或匯編言語標(biāo)號。 page 用來識別存儲器類型,0代表

36、程序存儲器,1代表數(shù)據(jù)存儲器,2代表I/O空間。 length 定義其長度,可以是任何C表達(dá)式。 type 闡明該存儲器的讀寫類型。 5.3 CCS仿真 2 銜接I/O接口mc命令命令格式: mc portaddress, page, length, flename, fileaccess闡明: portaddress I/O空間或數(shù)據(jù)存儲器地址。此參數(shù)可以是一個絕對地址、C表達(dá)式、函數(shù)名或匯編言語標(biāo)號。 Page 用來識別此存儲器區(qū)域的內(nèi)容。Page1,表示該頁屬于數(shù)據(jù)存儲器。Page=2,表示該頁屬于I/O空間。 Length 定義此空間的范圍,此參數(shù)可以是任何C表達(dá)式。 Filename

37、 可以為任何文件名。從銜接口或存儲器空間讀文件時,文件必需存在,否那么mc命令會失敗。 Fileaccess 識別I/O和數(shù)據(jù)存儲器的訪問特性PR,PW等, 5.3 CCS仿真 3 脫開I/O端口mi命令命令格式: mi portaddress,page,R|W|EX 闡明: 運(yùn)用md命令從存儲器映射中消去一個端口之前,必需運(yùn)用mi命令脫開該端口。mi(memory disconnect)將一個文件從一個I/O端口脫開。 命令中的端口地址和頁是指要封鎖的端口,read/write特性必需與端口銜接時的參數(shù) 一致。 5.3 CCS仿真 4 實例例 編寫匯編言語源程序從文件ioread.txt中讀取數(shù)據(jù) 定義I/O端口 ma 0 x100,2,0 x1,P|R ;定義地址

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論