#IAR編譯器MAXQ2000評估板使用入門_第1頁
#IAR編譯器MAXQ2000評估板使用入門_第2頁
#IAR編譯器MAXQ2000評估板使用入門_第3頁
#IAR編譯器MAXQ2000評估板使用入門_第4頁
#IAR編譯器MAXQ2000評估板使用入門_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、IAR 編譯器和 MAXQ2000摘要:本應用筆記說明如何建立、構建和調試面向評估板使用入門MAXQ? 平臺、以 C 語言編寫的應用程序,并演示 MAXQ2000 的某些特性。引言MAXQ 平臺得到了世界一流工具的支持,例如 IAR 專為 MAXQ 系列提供的 “嵌入式工作臺 ” (Embedded Workbench 。本應用筆記說 明如何建立、構建和調試面向 MAXQ 平臺、以 C 語言編寫的應用程序。本文還將演示 MAXQ2000 的某些特性, MAXQ2000 是 MAXQ 系列的第一款微控制器。本應用采用專用于 MAXQ 平臺的 1.12B 版 IAR 編譯器編寫。這些指令在后續(xù)版本

2、的產(chǎn)品中仍會保留。這些指令可以在 MAXQ2000 評估 板上執(zhí)行。設置 MAXQ2000 評估板在開始編寫代碼前,首先連接 MAXQ2000 評估板。該評估板應含有 3 塊電路板,其中一個帶有小型 LCD 屏。最大的那個電路板 (圖 1 中 連接了 LCD 子板的 就是 MAXQ2000 評估板。我們將在本文后面討論它的特性。將 LCD 板連接至 MAXQ2000 評估板上標有 J3 的端 子。剩下的一塊電路板是 JTAG 板。 MAXQ2000 裝載器和調試引擎采用 JTAG 協(xié)議通信。因為很難找到通用的、用于個人計算機的商品化 JTAG 適配器, Dallas Semiconductor

3、提供了一個串行至 JTAG 轉換板。評估板還包括了一個小型連接器。如 圖 2 所示,使用該連接器來連接 MAXQ2000 評估板和 JTAG 板。通過電纜將 MAXQ2000 評估板上標有 J4 的端子和 JTAG 電路板上標有 P2 的端子連接在一起。 注意,連接電纜的紅邊應在兩個板子上的引腳 “1”和“2”一側。/ 14MAXQ2000 評估板上有 3 個跳線。跳線 JU1 、JU2 和 JU3 上的引腳 1和2 應跳接在一起。此外,確保晶體放置在 Y1 上(靠近板上的微 處理器 。本應用筆記的演示程序默認晶振頻率為 13.5MHz 。JTAG 板也含有 3個跳線。跳線應放置在端子 JH1

4、、 JH2 和JH3 上。本裝置要求 5V 5%/300mA 的電源,插孔中心為正極。將電源插入 JTAG 板上的電源插孔 J2 。最后,需要將 PC 串口連接至 JTAG 板。采用一個標準 9 針直通串行電纜,將計算機的一個串口與 JTAG 板的串口相連 (注意:不要連接至 MAXQ2000 評估板的串口,具體參見 圖 3 的正確連接方式 。/ 14串行電纜的正確位置現(xiàn)在,我們就可以利用 IAR 工具開始工作了IAR 編譯器使用入門 : Hello WorldIAR 提供了一個為 MAXQ 平臺設計、限定代碼尺寸的評估版編譯器,它們在 MAXQ2000 評估板附帶的 CD 上。此外,也可以從

5、下載。按 照說明來安裝、選擇默認的安裝位置和選項。注意, IAR Embedded Workbench 產(chǎn)品僅適用于 Windows? 平臺。按照以下步驟從開始菜單啟動 IAR Embedded Workbench:IAR SystemsIAR Embedded Workbench for MAXQIAREmbedded Workbench ?,F(xiàn)在,我們就在 MAXQ2000 評估板上創(chuàng)建一個簡單的應用。建立一個新的工作區(qū)。在 FILE 菜單下,選擇 NEW 。將出現(xiàn)一個對話框,顯示 Source/Text 和Workspace 選項。選擇 WORKSPACE ,單擊 OK 。出現(xiàn)一個文件對話

6、框,詢問新工作區(qū)的名稱。確定保存新工作區(qū)的位置后,輸入工作區(qū)名稱。對于本項目,我 們稱其為 helloworld 。輸入工作區(qū)名稱后,單擊 SAVE 。一旦打開工作區(qū)后,則需要建立一個項目。在 PROJECT 菜單下,選擇 CREATE NEW PROJECT 。將彈出另一個文件對話框。確定在下 拉框Tool Chain 中選擇 MAXQ 。輸入項目名稱,單擊 CREATE 按鈕。此項目名定為 helloproject ?,F(xiàn)在項目建立完畢,我們還需要對其進行配置,以便用于 MAXQ2000 評估板。在項目管理窗口中,右鍵單擊標有 helloproject - Debug 的一行,單擊 OPTI

7、ONS 項(圖 4 。大部分默認選項是恰當?shù)模切枰薷牟糠衷O置。圖 4. 在項目上單擊右鍵在項目選項中,選擇 CATEGORY 下的 XLINK ,然后選擇 Include 標簽。在對話框的最下面,選中標有 Override Default 的框,然后 單擊下面編輯行右側的小按鈕 (標著. 。將出現(xiàn)文件選擇對話框。選擇文件 lnkmaxq200 x.xcl 1,單擊 OPEN 。應出現(xiàn)如 圖 5 所示的 項目選項對話框。/ 14圖 5. 為 MAXQ2000 設置正確的鏈接器選項現(xiàn)在,選擇 CATEGORY 下面的 C-SPY DEBUGGER 。在標有 Driver 的下拉框下,選擇 J

8、TAG 。這就告訴 IAR Embedded Workbench 在真實硬件 (而不是在軟件仿真器 上調試應用程序。同時,確定 Device Description File 所選的是 $TOOLKIT_DIR$Configmaxq200 x.ddf。 圖 6 所示為該對話框窗口的正確配置。4 / 14圖 6. MAXQ2000時的調試器選項工作所需的最后一個項目選項在條目 JTAG 中,它是 CATEGORY 列表下的 C-SPY DEBUGGER 子條目。在標有 COM Port: 的編輯框中,輸 入將與 MAXQ2000 評估板進行通信的 PC COM 端口。通常為 COM1 或者 CO

9、M2 ,許多帶有 USB 串口適配器的用戶將使用 COM4 或者 序號更高的端口?,F(xiàn)在,已經(jīng)正確的配置了 IAR 工具,使其能夠與 MAXQ2000 評估板一起工作。單擊項目選項窗口中的 OK 按鈕。下一步,將需要為項目 建立源代碼。首先,開始一個能夠觸發(fā) LED 的簡單的 HelloWorld 型應用程序。單擊工具條上的新文件按鈕 (工具條最左側的空白頁 ,或者選擇 FILE 菜單下的 NEW 。選擇 SOURCE/TEXT ,單擊 OK 按鈕。標有 Untitled1 的新窗口將出現(xiàn)。在新窗口中輸入以下代碼:#includevoid main(unsigned int counter1un

10、signed int counter2 PD0 = 0 xff 。 while (1for (counter1 = 0for (counter2 = 0。 counter1 0 xffff。 counter2 。 counter2+/ 14PO0 = PO0 0 xff 。單擊 Save 按鈕( 工具條上的磁盤圖標 ,或者從菜單上選擇 FILE SAVE ,保存文件。在出現(xiàn)的文件對話框中,輸入 demo.c 作為文件 名稱,單擊 save 。注意,文件 demo.c 并不出現(xiàn)在項目窗口中。在能夠構建該項目之前,需要為該項目加入源文件。右鍵單擊項目窗口 中的helloproject - Debu

11、g行,選擇菜單中的 Add Files. 。當文件對話框出現(xiàn)后,選擇文件 demo.c ,單擊 OPEN?,F(xiàn)在,已經(jīng)加入源文件,可以進行構建了。在 PROJECT 菜單下,選擇選項 REBUILD ALL 。屏幕下方的消息窗口中將輸出大量數(shù)據(jù),其結尾是:Total number of errors: 0Total number of warnings: 0如果出現(xiàn)任何錯誤或者警告信息,請確定輸入代碼是否正確,是否按照項目設置說明進行操作。此處常出現(xiàn)的警告信息是last line of fileends without a new line。如果出現(xiàn)該錯誤,則找到源代碼的最后一行,多次敲擊 EN

12、TER ,在最后的右括號 ( 之后,建立幾個新行。成功構建項目后,準備運行。確定 JTAG 板和 MAXQ2000 板已經(jīng)按照本文第一部分所述已經(jīng)連接并上電。同樣,對于第一次演示,需要 打開能使 LED 段點亮的一個開關。找到標有 SW6 的開關,將第 8 個開關打到 on (上部位置。運行本項目,選擇 PROJECT 菜單,然后 選擇 DEBUG 選項。將出現(xiàn)一個窗口通知應用程序正在下載。點擊執(zhí)行代碼第一行的第一個斷點 PD0 = 0 xff 。 ,啟動項目。我們將在以后研究 IAR Embedded Workbench 的調試選項?,F(xiàn)在,只 需點擊工具條的 GO按鈕(三個藍色箭頭 ,或者選

13、擇 DEBUG 菜單下的 GO。將看到大部分 LED 以每秒一次的頻率閃爍。我們已經(jīng)采用 IAR Embedded Workbench編譯、下載、運行了首個為 MAXQ2000 評估板編寫的應用。下一步,該實例程序將變得復雜一些。然后,將討論 MAXQ2000 評估板的一些特性,以及 IAR Embedded Workbench 的某些調試特性。一個簡單應用:在 LCD 上顯示一個計數(shù)器現(xiàn)在已經(jīng)成功觸發(fā)了 LED ,下一步繼續(xù)處理更加復雜的 LCD 應用程序。 MAXQ2000 微控制器具有一個集成的 132 段 LCD 控制器,以及 一個片內電阻分壓器用于對比度控制。它還可以直接對 LCD

14、屏供電。 MAXQ2000 評估板帶有一個簡單的靜態(tài) LCD 屏,其上有 4 個數(shù)字 和一些簡單的標點符號 (一對冒號和點號,參見 圖7 。對于初次使用者,我們將編寫一個能夠在 LCD 上實現(xiàn)計數(shù)器的應用程序。然后, 深入討論控制 LCD 的代碼,演示更復雜的實例。按照前面所述的步驟,建立一個新的工作區(qū)和項目 (注意,需要為該新項目重新輸入所有的 XLINK 、C-SPY和 JTAG 選項。 為該工作區(qū) 起名為 LCDDemo ,項目名為 SimpleLCD 。下載該實例的 源代碼 。將文件 lcdcounter.c 放在剛剛建立的 LCDDemo 項目目錄下。在 IAR 項目窗口中,右鍵單擊

15、標有 SimpleLCD - Debug 的一行,選擇 Add Files. 。選擇剛剛加入的文件 lcdcounter.c ,然后單擊 OPEN。在運行項目前,我們來查看一些比較重要的代碼段。首先,下拉至文件底部的 void main( 一行,此處是應用程序的起始點。您將看到對 LCD 的初始化 (函數(shù) initLCD ,然后進入無限循環(huán) while (1 。主循環(huán)調用的函數(shù)在 LCD 屏幕上顯示一個數(shù)字。每執(zhí)行一次循環(huán),數(shù)值 計數(shù)增 1 ,如果超過 LCD 能夠顯示的最大值 19999 ,則重新計數(shù)?,F(xiàn)在繼續(xù)運行程序。單擊 DEBUG 按鈕(工具條的最右側 ,或者選擇菜單中的 PROJEC

16、T DEBUG 。注意, IAR EmbeddedWorkbench 在將應用程序裝入到評估板之前,自動進行構建。我們將看到 IAR 顯示變?yōu)檎{試模式,在 void main( 代碼的第一行停止運 行。點擊 GO 按鈕(三個藍色箭頭 ,查看顯示屏,它應快速向上計數(shù)。如果觀察的時間足夠長,接近20000 時,顯示將從頭開始?,F(xiàn)在可以展示 MAXQ2000 評估板上非常有用的一個特性 RESET 按鈕。評估板左下側是標有 SW2 和 RESET 的開關。按下按鍵,觀 察 LCD 屏幕,它將立刻從 0 開始顯示。該按鈕連接在微控制器的復位引腳上 如果需要重新啟動應用程序,則按該按鈕。MAXQ2000

17、 評估板特性現(xiàn)在已經(jīng)建立了使用 MAXQ2000 評估板 LCD 子板的應用程序,讓我們仔細研究一下評估板的各個部分。我們不在此處涉及到評估板的所 有器件,在評估板附帶的 CD 中的 MAXQ2000 評估板原理圖和 MAXQ2000 Evaluate Kit Getting Started Guide 中有更詳細的信 息。LCD 子板現(xiàn)在, LCD 板已經(jīng)能夠運轉。顯示段和公共極信號的產(chǎn)生受控于 MAXQ 微控制器的幾個寄存器。 LCD 子板的連接方式簡化了對于 LCD 屏 的操作,向 4 個顯示位置中的任何一個寫入數(shù)碼非常容易。因為每個 7 段 LCD 數(shù)字的映射相同,因此,在代碼中包括了

18、下表,以幫助寫 入正確的 LCD 寄存器數(shù)值:/ 14#define LCD_PATTERN_0 0 x03F #define LCD_PATTERN_1 0 x006 #define LCD_PATTERN_2 0 x05B #define LCD_PATTERN_3 0 x04F #define LCD_PATTERN_4 0 x066 #define LCD_PATTERN_5 0 x06D #define LCD_PATTERN_6 0 x07D #define LCD_PATTERN_7 0 x007 #define LCD_PATTERN_8 0 x07F #define LCD_

19、PATTERN_9 0 x067int PATTERNS = LCD_PATTERN_0, LCD_PATTERN_1, LCD_PATTERN_2, LCD_PATTERN_3,LCD_PATTERN_4, LCD_PATTERN_5, LCD_PATTERN_6, LCD_PATTERN_7,LCD_PATTERN_8, LCD_PATTERN_9 int getLCDDigit(int digitreturn PATTERNSdigit利 用 getLCDDigit 函數(shù),可由以下代碼向控制器寫入數(shù)值:/* write the value 612 to the LCD screen */

20、LCD2 = getLCDDigit(6 。LCD1 = getLCDDigit(1 。LCD0 = getLCDDigit(2 。該 LCD 板還可以顯示小數(shù)點和冒號,適用于時鐘、溫度顯示以及任何其他簡單的數(shù)字顯示等。圖 7 是 LCD 子板各段的完整顯示以及用于 控制各段 LCD 顯示的寄存器位。圖 7. LCD 段至MAXQ2000 寄存器位的映射 按鍵MAXQ2000 評估板上有三個按鍵,兩個連接至外部中斷,一個連接至微控制器的復位信號。復位按鈕用于重新運行應用程序,如同前面 演示的 LCD 計數(shù)器所示。經(jīng)開關使能后,其他兩個按鍵可連接至外部中斷。每個按鍵可連接至一對外部中斷。按鍵 1

21、在評估板上標記為 SW4 ,可連接至端口 5 引 腳2 (外部中斷#10 或者端口 5 引腳3 (外部中斷#11 。按鍵 2在評估板上標記為 SW5 ,可連接至端口 7引腳0 (外部中斷#14 或 者端口 7引腳 1 ( 外部中斷#15 。下表說明了用于將按鍵連接至外部中斷引腳的開關的使用。Switch (set to ON Connect push button To port pin. External Interrupt #SW6, switch 2Push Button 1 (SW4Port 5 Pin 210SW6, switch 3Push Button 1 (SW4Port 5

22、Pin 311SW6, switch 4Push Button 2 (SW5Port 7 Pin 014SW6, switch 5Push Button 2 (SW5Port 7 Pin 115/ 14注意,這些引腳還有其他功能,這就是為什么要對按鍵連接到哪個部中斷進行選擇的原因。例如,端口7 引腳0和1 用于UART 0 串口發(fā)送和接收。如果將按鍵連接至這些引腳之一,則不利于使用 UART 0 的功能。請注意, MAXQ2000 含有兩個 UART ,因此,決定如何配 置 MAXQ2000 評估板時,可以有多個選擇。串行連接器MAXQ2000 評估板含有一個 9 針連接器和一個 RS-232

23、 電平轉換器。因此,可以采用一條標準的直通串行電纜連接評估板和PC。這與連接串口至 JTAG 板的串行電纜相同。為能夠通過該串口讀取到達數(shù)據(jù), SW1 上的 3 號開關必須置于 ON 的位置。注意,如果 P7.1 被用于外部中斷 ( 如果 SW6.5 置于 ON , 將產(chǎn)生沖突。要在該串口寫數(shù)據(jù), SW1 上的第 7 個開關必須置于 ON 的位置。同樣,如果 P7.0 被用于外部中斷 (如果 SW6.4 置于 ON ,也將產(chǎn)生沖突。LED 面板在簡單的 HelloWorld 式應用程序中我們已經(jīng)使用了 LED 面板,現(xiàn)在仔細觀察一下面板的實際顯示。 圖 8 顯示了 LED 面板的每個亮條和 與

24、其相關的輸出引腳。圖 8.LED 至 MAXQ2000 寄存器位的映射/ 輸出方向控制。在第一個應用程序為能夠向 I/O 端口寫入數(shù)值,首先需要將端口 0 引腳方向設置為輸出。每個引腳具有一個獨立的輸入 中,由以下代碼來設置端口 0 所有的引腳為輸出:PD0 = 0 xff 。當適當?shù)?I/O 端口設置為輸出后, PO0 寄存器相應位設置為 1 時,該引腳對應的 LED 被點亮。注意,組合開關 SW6 上的 8 號開關必須 置于 ON 的位置,才能對 LED 陣列供電。MAX1407MAXQ2000 評估板帶有一個 MAX1407 ,它含有一個 4 通道 16 位模數(shù)轉換器,以及兩個 10 位

25、數(shù)模轉換器。 MAXQ2000 通過其片內 SPI? 主機與之通信。這樣, MAX1407 就成為連接 MAXQ2000 與外部真實世界信號的理想橋梁。網(wǎng)上 2 有一個使用熱敏電阻以及 MAXQ2000 評估板來實時顯示當前溫度的實例程序。請查看該實例程序的源代碼,了解運行該程序所需的硬件連接和配置。參見: MAX1407 QuickView 數(shù)據(jù)資料使用 IAR 編譯器來調試應用程序現(xiàn)在,轉向一個新的應用程序,通過它我們來熟悉一下 IAR 調試工具。同前面一樣,建立一個新的工作區(qū)和項目,將工作區(qū)命名為 lcdtime ,項目名為 rtc_demo 。從本應用筆記的下載源 3 添加源代碼文件

26、lcd_trc.c 。構建該程序,點擊 DEBUG 按鈕將其裝入到 MAXQ2000 評估板。該程序實際是前面編寫的 LCD 計數(shù)器程序的擴展。開始運行后,其 LCD 顯示與以前相似,快速顯示計數(shù)遞增。但是,按下 SW4 按鍵, 程序將顯示實時時鐘的當前值。這看起來實用性較差,因為時間顯示幾乎都不正確。按下 SW5 按鈕幾次后,將看到分鐘遞增。如果同樣 需要增加小時,不停的按該按鈕將使人疲倦。在這種情況下,可以按住 SW5 按鈕,然后按下 SW4 按鈕來增加小時。如果再次單獨按下 SW4 按鈕,將切換回計數(shù)器顯示。點擊 GO 按鈕(三個藍色箭頭 ,繼續(xù)運行程序。反復操作幾次,熟悉該程序。一旦掌

27、握該程序后,我們將利用它來介紹一些IAR 調試工/ 14具。IAR 調試:暫停一個應用程序程序正在運行時,按下工具條左側的紅色手形按鈕,或者選擇 DEBUG 菜單下的 BREAK ,這將使處理器停止運行, IAR 將顯示你在應用 程序中的當前位置。程序暫停后,可以有幾種選擇。如果將鼠標放在調試工具條的其他按鈕 (帶有藍色箭頭 上,保持一段時間,將彈出提示窗口,顯示該按鈕 的功能。較為常用的一些按鈕為:Step Over: 走過下一指令。如果下一指令是函數(shù)調用,按下此按鈕將不會進入該函數(shù)。Step Into: 走入下一指令。如果下一指令是函數(shù)調用,按下該按鈕將進入被調用的函數(shù)。Run to Cu

28、rsor: 運行程序至光標所在代碼的位置。這要比使用斷點功能來運行至代碼的特定位置方便一些。Go: 使程序正常運行。按下 pause 按鈕或者到達斷點后,程序停止運行。IAR 調試:斷點 斷點功能使我們在程序運行到特定位置后,能夠停止程序運行。下面以實例說明。如果程序仍在運行,先停止它。找到代碼中的函數(shù) pushButtonInterrupt ,找到下面一行:IF (EIF1 & 0 x04右鍵單擊此行,從彈出菜單中選擇選項 TOGGLE BREAKPOINT ( 不是選項Toggle Bookmark! 。該行左側空白位置將出現(xiàn)一個紅色的 X 。現(xiàn)在,再次點擊 DEBUG 按鈕,按下 GO按

29、鈕,運行程序。將看到 LCD 計數(shù)器運行。按下 SW5 按鍵,計數(shù)器程序似乎停止了。如果回過頭來注意一下 IAR Embedded Workbench ,將看到程序已經(jīng)停止運行,加入斷點的 一行被高亮顯示,如 圖 9 所示。/ 14斷點圖 9. 在 IAR Embedded Workbench中達到調試應用程序時,斷點是非常有用的工具。開發(fā)人員通常希望了解代碼是否按要求執(zhí)行,或未被執(zhí)行。例如,如果按鍵中斷例程沒有正常 工作,我們將會考慮兩種可能 1 按鍵中斷例程代碼不正確,因此,得不到預期結果, 2 按鍵中斷代碼根本就沒有執(zhí)行。采用斷點 后,可以知道第 2 種情況是否發(fā)生,幫助我們決定應在哪方

30、面花時間調試。IAR 調試:局部變量程序還停止在斷點上時,打開 LOCALS 窗口(如果還沒有打開 ??赏ㄟ^選擇 VIEW 菜單下的 LOCALS 選項來打開窗口。如果還停止在前 面所設置的斷點行上,則 locals 窗口應如下所示:/ 1410. IAR Embedded Workbench的局部變量窗口注意到有兩個條目: temp 和 time 。 temp 變量用于顯示 PI7 寄存器的數(shù)值。注意另一條目 time 的表達。這意味著該變量不在當前視野 之內它或者沒有賦值,或者其數(shù)值不會再被函數(shù)使用??梢詸z查變量中不正確的數(shù)LOCALS 窗口顯示了應用中止處所在函數(shù)中所聲明且使用的變量。這

31、是了解程序當前狀態(tài)的強有力工具 值,還可以根據(jù)變量值判斷程序下一步的去向。LOCALS 窗口的功能不僅這些 在程序執(zhí)行期間,還可以修改變量值。單擊 temp 值(可能是 1 ,輸入一個新的整數(shù)值,則修改了運行 程序的狀態(tài)。這可以幫助開發(fā)人員查看其程序對不同輸入的反應,而不必重新構建和裝載程序。IAR 調試: Watch 窗口程序暫停時,打開 WATCH 窗口(VIEW WATCH 。在 expression 下,輸入 pbcount 。WATCH 窗口中應出現(xiàn)數(shù)值 1 ( 除非按下了其 他鍵,使程序再次運行 。 Watch 窗口使我們能夠隨意輸入任意表達式,并顯示該表達式的計算數(shù)值。在本例中,

32、我們輸入了一個全局變 量名,它告訴我們按鍵中斷代碼被執(zhí)行了幾次。 Watch 窗口的作用還不僅如此 在 WATCH 窗口中,再次單擊 pbcount ,輸入 pbcount 0 x05 。IAR Embedded Workbench將計算該表達式 (pbcount 值與 5 異或 ,顯示結果為 (4 。圖 11. IAR Embedded Workbench 中表達式的 Watch 窗口IAR 調試: Call Stack打開 call Stack (VIEWCALL STACK 。 Call Stack 顯示代碼執(zhí)行到當前位置已調用過的函數(shù)。此時,因為正在響應一個中斷,只顯示 pushBut

33、tonInterrupt( (以及一些調試信息 。單步調試該程序,查看該窗口的反應。向下找到標有中斷 15 的代碼段下面的showTime( 行??梢园聪?STEP OVER 幾次,或者右鍵單擊該行,選擇 RUN TO CURSOR 。此時, showTime( 行被高亮顯示。按下 STEP INTO 按鈕,將看到 showTime( 函數(shù)的第一行代碼被高亮顯示。再次查看 Call Stack 現(xiàn)在, showTime( 函數(shù)顯示在第一 行,其后是 pushButtonInterrupt( 。因為這是一個堆棧,現(xiàn)在執(zhí)行的函數(shù)被首先列出,其后是調用該函數(shù)的函數(shù),再后是更上一層的 調用函數(shù),等等。

34、/ 14圖12. IAR Embedded Workbench中的 Call stack 窗口圖 13. IAR Embedded Workbench 顯示的 Memory 內容IAR 調試: Memory 窗口IAR Embedded Workbench 允許我們察看正在執(zhí)行應用程序的器件的內部存儲器。選擇 VIEW MEMORY 來查看 Memory 窗口。窗 口首次打開時,可能會顯示代碼段的存儲器內容。單擊下拉框,你會看到用于顯示的存儲器類型選項。選擇 Data 選項來查看 MAXQ2000 片內 RAM 的內容。與 LOCALS 窗口相似,我們也可以直接在這里修改 RAM 的數(shù)值。加亮

35、某個位置,輸入你所希望的新 16 進制數(shù)值。與 LOCALS 窗口一 樣,這是個非常有用的工具,便于開發(fā)人員修改程序狀態(tài)而無須重新構建和裝入應用程序。IAR 調試: Register 窗口Register 窗口(VIEW REGISTER 與 Memory 窗口相似。該窗口顯示 MAXQ2000 的寄存器映射。出現(xiàn)的第一個寄存器是 MAXQ 平 臺的核心寄存器,例如累加器、數(shù)據(jù)指針和循環(huán)計數(shù)器等。單擊下拉框,可以看到其他幾個選項。例如,如果選擇 Port I/O 寄存器,你就 可以看到并編輯與 MAXQ2000 輸入 / 輸出端口相關的所有寄存器。/ 1414. IAR Embedded Workbench顯示的 Register 內容開發(fā)支援對于 MAXQ 平臺的開發(fā)者,我們提供了多種資源予以支持。其中之一是由 Dallas Semiconductor 開發(fā)人員管理的在線論壇,解答用戶 提交的問題,同時也是開發(fā)人員發(fā)布消息的窗口,提供最新的工具信息和相關的其他問題。請訪問主頁,進行注

溫馨提示

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

評論

0/150

提交評論