![IAR_使用最全方法_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/17/9330e8cf-fb4b-4f1c-9d0e-095cf1aae10c/9330e8cf-fb4b-4f1c-9d0e-095cf1aae10c1.gif)
![IAR_使用最全方法_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/17/9330e8cf-fb4b-4f1c-9d0e-095cf1aae10c/9330e8cf-fb4b-4f1c-9d0e-095cf1aae10c2.gif)
![IAR_使用最全方法_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/17/9330e8cf-fb4b-4f1c-9d0e-095cf1aae10c/9330e8cf-fb4b-4f1c-9d0e-095cf1aae10c3.gif)
![IAR_使用最全方法_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/17/9330e8cf-fb4b-4f1c-9d0e-095cf1aae10c/9330e8cf-fb4b-4f1c-9d0e-095cf1aae10c4.gif)
![IAR_使用最全方法_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/17/9330e8cf-fb4b-4f1c-9d0e-095cf1aae10c/9330e8cf-fb4b-4f1c-9d0e-095cf1aae10c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 軟件介紹AVR® IAR Embedded Workbench® IDE用戶手冊(cè)的這部分包括以下章節(jié): 產(chǎn)品介紹 已安裝文件 1.1產(chǎn)品介紹嵌入式IAR Embedded Workbench®是一個(gè)非常有效的集成開發(fā)環(huán)境(IDE),它使用戶充分有效地開發(fā)并管理嵌入式應(yīng)用工程。作為一個(gè)開發(fā)平臺(tái),它具備任何在用戶每天的工作地方所想要的特性。本章介紹了嵌入式IAR Embedded Workbench IDE,旨在使用戶獲得對(duì)本產(chǎn)品的所有集成工具的總體了解。 1.1.1嵌入式IAR Embedded Workbench ID
2、E 嵌入式IAR Embedded Workbench IDE提供一個(gè)框架,任何可用的工具都可以完整地嵌入其中,這些工具包括: 高度優(yōu)化的IAR AVR C/C+編譯器; AVR IAR匯編器; 通用IAR XLINK Linker; IAR XAR庫創(chuàng)建器和 IAR XLIB Librarian; 一個(gè)強(qiáng)大的編輯器; 一個(gè)工程管理器; IAR C-SPYTM調(diào)試器,一個(gè)具有世界先進(jìn)水平的高級(jí)語言調(diào)試器。嵌入式IAR Embedded Wor
3、kbench適用于大量8位、16位以及32位的微處理器和微控制器,使用戶在開發(fā)新的項(xiàng)目時(shí)也能在所熟悉的開發(fā)環(huán)境中進(jìn)行。它為用戶提供一個(gè)易學(xué)和具有最大量代碼繼承能力的開發(fā)環(huán)境,以及對(duì)大多數(shù)和特殊目標(biāo)的支持。嵌入式IAR Embedded Workbench有效提高用戶的工作效率,通過IAR工具,用戶可以大大節(jié)省工作時(shí)間。 我們稱這個(gè)理念為:“不同架構(gòu),同一解決方案”。如果用戶想獲得關(guān)于所支持的目標(biāo)處理器的更詳細(xì)的信息,請(qǐng)與用戶的軟件提供商或者與用戶的IAR代理聯(lián)系,或者登陸IAR網(wǎng)站 以查詢最新的產(chǎn)品信息。 一個(gè)可擴(kuò)展的模塊化的環(huán)境盡管嵌入式IAR Embedded Workbench IDE可
4、以提供完成一個(gè)成功工程所需的所有工具,但 我們也認(rèn)識(shí)到集成其他工具的必要性。因此,IAR Embedded Workbench IDE容易適應(yīng)于用戶喜歡的編輯器和源代碼控制系統(tǒng)。IAR XLINK Linker 可以輸出多種格式,使用戶可在第三方的軟件上進(jìn)行調(diào)試。實(shí)時(shí)操作系統(tǒng)(RTOS)支持也可加載到產(chǎn)品中。 編譯器,匯編器和連接器也可在命令行環(huán)境中運(yùn)行,用戶可以在一個(gè)已建好的工程環(huán)境中把它們作為外部工具使用。特性 嵌入式IAR Embedded Workbench是一個(gè)靈活的集成開發(fā)環(huán)境,使用戶可以針對(duì)多種不同的目標(biāo)處理器開發(fā)應(yīng)用程序。并為快速開發(fā)和調(diào)試提供便捷的Windows截面。項(xiàng)目管理
5、 嵌入式IAR Embedded Workbench IDE能幫助用戶控制所有的工程模塊,例如,C或者C源代碼文件、匯編文件、“引用”文件、以及其他相關(guān)模塊。用戶創(chuàng)建一個(gè)工作區(qū),可以在此開發(fā)一個(gè)或多個(gè)工程。文件可以組合,并且可以為各級(jí)設(shè)置選項(xiàng)工程、組、或者文件。任何修改都被記錄,從而保證重新設(shè)計(jì)時(shí)可以獲得所有所需的模塊,而可執(zhí)行文件中不會(huì)包含已過期的模塊。下表指出另外的一些特性: 通過工程模板可以創(chuàng)建獨(dú)立的可編輯和可運(yùn)行的工程文件,使開發(fā)平穩(wěn)啟動(dòng); 分級(jí)的工程表述; 具有分級(jí)圖標(biāo)的源代碼瀏覽器; 可以為全球
6、化、組和個(gè)人源代碼文件設(shè)置選項(xiàng); “Make”功能只在必要時(shí)才實(shí)行再編譯、再匯編和再連接文件; 基于文本的工程文件; 自定義功能使用戶輕松的擴(kuò)展標(biāo)準(zhǔn)工具欄; 工程文件輸入時(shí)可使用命令行模式。 源代碼控制 源代碼控制(Source Code Control,SCC),作為修訂控制,可用于跟蹤用戶的源代碼的不同版本。IAR Embedded Workbench可以識(shí)別和接受基于Microsoft發(fā)布的SCC接口規(guī)范的任何第三方源代碼控制系統(tǒng)。窗口管理 為使用戶充分而方便地控制窗口的位置,每個(gè)窗口都可停靠,用戶就
7、可以有選擇地給窗口做上標(biāo)記??赏?康拇翱谙到y(tǒng)還通過一種節(jié)省空間方式使多個(gè)窗口可同時(shí)打開。另外,重新分配窗口大小也很方便。 2 文本編輯器集成化的文本編輯器可以并行編輯多個(gè)文件,并具有時(shí)興編輯器所期望的所有編輯特性,包括無限次的撤銷/重做和自動(dòng)完成。另外它還包含針對(duì)軟件開發(fā)的特殊功能,比如關(guān)鍵字的著色(C/C+, 匯編和用戶定義等)、段縮進(jìn)、以及對(duì)源文件的導(dǎo)航功能。還可識(shí)別C語言元素(例如括號(hào)的匹配問題)。下表指出另外的一些特性: 上下文智能幫助系統(tǒng)可以顯示DLIB庫的參考信息; 使用文本風(fēng)格和色條指出C、C和匯編程序的語法; 強(qiáng)
8、大的搜索和置換功能,包括多文件搜索; 從錯(cuò)誤列表直接跳轉(zhuǎn)到程序行; 支持多字節(jié)字符; 圓括號(hào)匹配 自動(dòng)縮排; 書簽功能; 每個(gè)窗口均可無限次撤銷和重做。 文檔 AVR嵌入式IAR Workbench IDE在本文檔中有詳細(xì)講解。另外還有在線的幫助文件以及超文本格式的PDF用戶文檔。1.1.2 IAR C-SPY 調(diào)試器 IAR C-SPY 調(diào)試器是為嵌入式應(yīng)用程序開發(fā)的高級(jí)語言調(diào)試器。在設(shè)計(jì)上,它與IAR編譯器和匯編器一起工作,并且與嵌入式IAR Embedded
9、 Workbench IDE 完全集成,可在開發(fā)與調(diào)試間自由切換。因此,它使用戶可做到: 在調(diào)試時(shí)進(jìn)行編輯。在調(diào)試過程中,源代碼的修正可以直接寫入用來控制調(diào)試過程的同一窗口中。其修改將在項(xiàng)目重啟后生效; 在啟動(dòng)調(diào)試器之前可設(shè)置源代碼斷點(diǎn)。源代碼中的斷點(diǎn)可與同一段源代碼相關(guān)聯(lián),即使中間插入了新的代碼。IAR C-SPY 調(diào)試器由一個(gè)具備基本的C-SPY系列特點(diǎn)的主要部分和驅(qū)動(dòng)部分組成。C-SPY驅(qū)動(dòng)確保與目標(biāo)系統(tǒng)的通信和控制。并提供一個(gè)用戶接口特殊菜單,窗口和對(duì)話框以連接到目標(biāo)系統(tǒng)的功能上,比如,特殊斷點(diǎn)。在下面內(nèi)容中,將概述通用C-SPY調(diào)試器的特性
10、。對(duì)于可用的C-SPY驅(qū)動(dòng)的概述,請(qǐng)參見第8頁,IAR C-SPY 調(diào)試器系統(tǒng)。 C-SPY調(diào)試器的總體特性因?yàn)镮AR 系統(tǒng)提供的是一個(gè)整體工具鏈,編譯器和連接器的輸出結(jié)果包含調(diào)試器的擴(kuò)展調(diào)試信息,從而使用戶獲得最佳的調(diào)試效果。IAR C-SPY調(diào)試器具備本節(jié)中所介紹的總體特性。 源代碼和反匯編調(diào)試IAR C-SPY調(diào)試器使用戶能按要求在源代碼和反匯編調(diào)試間切換,適用于C/C和匯編語言源代碼。調(diào)試C或C源代碼是驗(yàn)證用戶的應(yīng)用程序的邏輯性最快捷、最便利的方式,然而,反匯編調(diào)試則針對(duì)應(yīng)用程序的錯(cuò)誤段,并對(duì)硬件進(jìn)行精確控制。在混合顯示模式中,調(diào)試器顯示C/C+源代碼及其對(duì)應(yīng)的反匯編代碼清單。程序調(diào)用
11、級(jí)的單步調(diào)試 傳統(tǒng)的調(diào)試器設(shè)置,認(rèn)為最佳的源代碼調(diào)試間隔是“行到行”,與之相比,C-SPY則更細(xì)化,將每個(gè)語句和調(diào)用函數(shù)稱為“步點(diǎn)”,并加以控制。這就意味著在每個(gè)表達(dá)式里的函數(shù)調(diào)用,以及函數(shù)調(diào)用作為參數(shù)甚至到其他類型的函數(shù)調(diào)用都可以進(jìn)行“單步”調(diào)試。后者在調(diào)試C源代碼時(shí)特別有效,主要針對(duì)大量的外部函數(shù)調(diào)用,比如對(duì)象構(gòu)造器。調(diào)試信息提供了內(nèi)嵌函數(shù),如果執(zhí)行了這類函數(shù)的調(diào)用,也可進(jìn)行源碼級(jí)調(diào)試。 代碼和數(shù)據(jù)斷點(diǎn) C-SPY斷點(diǎn)系統(tǒng)允許用戶在調(diào)試程序過程中設(shè)置多種斷點(diǎn),并按照特定需要在某一位置停止。用戶可以設(shè)置代碼斷點(diǎn)來驗(yàn)證程序的邏輯性是否正確。也可以設(shè)置數(shù)據(jù)斷點(diǎn)來檢驗(yàn)數(shù)據(jù)如何以及何時(shí)改變。最后,用
12、戶還可以添加條件至斷點(diǎn)處。變量和表達(dá)式監(jiān)控 當(dāng)用戶監(jiān)控變量和表達(dá)式時(shí),用戶可以選擇很多工具。任何變量和表達(dá)式都可通過一次掃描來求值。用戶可以很輕松地在一段較長的時(shí)間內(nèi)對(duì)已定義的表達(dá)式進(jìn)行監(jiān)控和記錄其值。對(duì)局部變量用戶可以直接控制,同時(shí)可以無干擾地顯示即時(shí)數(shù)據(jù)。最終將自動(dòng)顯示最后指定的變量。Container響應(yīng)當(dāng)用戶在IAR C-SPY調(diào)試器中運(yùn)行程序時(shí),可以查看諸如STL列表和向量地址等庫內(nèi)數(shù)據(jù)類型。因此,用戶在運(yùn)行C+ STL containers時(shí),可以對(duì)程序進(jìn)行總體瀏覽,以及良好的調(diào)試。調(diào)用棧信息 AVR IAR C/C+編譯器產(chǎn)生擴(kuò)展的函數(shù)調(diào)用信息。在不影響整個(gè)運(yùn)行環(huán)境的情況下,無論
13、程序計(jì)數(shù)器指在哪里C-SPY都能顯示整個(gè)函數(shù)調(diào)用棧信息。用戶可以在調(diào)用棧中選擇任何函數(shù),并且可以獲得相關(guān)的局部變量和寄存器的可用信息。強(qiáng)大的宏系統(tǒng)IAR C-SPY 調(diào)試器包含了一個(gè)強(qiáng)大的內(nèi)部宏系統(tǒng),能使用戶定義復(fù)雜的動(dòng)作并得以實(shí)施。 C-SPY宏可單獨(dú)使用也可以同復(fù)雜的斷點(diǎn)聯(lián)合使用如果用戶是在使用仿真器的話中斷仿真系統(tǒng)需要進(jìn)行一系列復(fù)雜的動(dòng)作。C-SPY 調(diào)試器的其他特性 下表指出了一些其他的特性: 模塊化和可擴(kuò)展化的結(jié)構(gòu)設(shè)計(jì)允許在調(diào)試器中加入第三方設(shè)備,比如,實(shí)時(shí)操作系統(tǒng),外圍仿真模塊和驅(qū)動(dòng); 線程運(yùn)行保證在運(yùn)行目標(biāo)應(yīng)用程序時(shí)IDE仍處于響應(yīng)狀態(tài)
14、; 自動(dòng)步進(jìn); 源代碼瀏覽器可以方便查看函數(shù),類型以及變量; 變量的擴(kuò)展類型識(shí)別; 可配置化的寄存器(CPU和外圍設(shè)備)以及存貯器窗口; 支持代碼覆蓋和函數(shù)級(jí)模塊化; 終端I/O模擬; 支持UBROF,Intel擴(kuò)展和Motorola輸入格式。RTOS 響應(yīng)IAR C-SPY 調(diào)換器支持實(shí)時(shí)OS響應(yīng)調(diào)試。RTOS 插件模塊由IAR以及一些第三方的供貨商提供。如要了解支持RTOS 模塊信息,請(qǐng)聯(lián)系用戶的軟件供應(yīng)商或IAR代理,或者訪問IAR 網(wǎng)
15、站。文檔 IAR C-SPY調(diào)試器在本文檔中有詳細(xì)介紹。調(diào)試器的一般特點(diǎn)在第四部分中有介紹,每個(gè)調(diào)試器驅(qū)動(dòng)特殊性質(zhì)在第五部分IAR C-SPY 仿真器和第六部分C-SPY硬件調(diào)試系統(tǒng)中有介紹。網(wǎng)上還有幫助信息和超文本格式(PDF)文檔。1.1.3 IAR C-SPY 調(diào)試器系統(tǒng) 至本手冊(cè)撰寫之時(shí),AVR公司的IAR C-SPY 調(diào)試器針對(duì)下列目標(biāo)系統(tǒng)發(fā)布了驅(qū)動(dòng): 仿真器; AVR® ICE200 AVR® JTAGICE AVR® JTAGICE AVR&
16、#174; Crypto Controller ROM-monitor for Atmel Smart Card Development Board (SCDB)和Voyager開發(fā)系統(tǒng) 需了解C-SPY驅(qū)動(dòng)的相關(guān)信息,請(qǐng)聯(lián)系用戶的軟件供應(yīng)商或IAR代理。也可登陸IAR網(wǎng)站, 。 如需了解更多關(guān)于IAR C-SPY 調(diào)試器的信息,請(qǐng)參看調(diào)試器概念,第107頁。在下面章節(jié),將描述各種驅(qū)動(dòng)。C-SPY 仿真器驅(qū)動(dòng) C-SPY 軟仿真器驅(qū)動(dòng)在軟件上完全模擬了目標(biāo)處理器的功能。通過這個(gè)驅(qū)動(dòng),在獲得相關(guān)硬件之前就可對(duì)程序的邏輯性進(jìn)行調(diào)試。因?yàn)椴恍枰布?,它同時(shí)也是很多應(yīng)用程序最有效的解決方案。特性 除具
17、備C-SPY調(diào)試器的基本特點(diǎn)外,軟仿真器驅(qū)動(dòng)還具備: 指令級(jí)仿真; 中斷模擬; 外圍設(shè)備仿真,使用C-SPY宏系統(tǒng)與直接斷點(diǎn)并行。關(guān)于IAR C-SPY軟仿真器更詳細(xì)的信息,請(qǐng)參看第五部分IAR C-SPY 軟仿真器一節(jié)。C-SPY ICE200 驅(qū)動(dòng)C-SPY ICE200驅(qū)動(dòng)允許連接AVR® ICE200。C-SPY ICE200 驅(qū)動(dòng)提供了低成本的實(shí)時(shí)調(diào)試功能。特性 除了具有IAR C-SPY 調(diào)試器的基本特性外,C-SPY ICE200驅(qū)動(dòng)還具備: 全部面向微控制器的實(shí)時(shí)運(yùn)行。 h
18、8698; 代碼斷點(diǎn)數(shù)量不限。 不占用目標(biāo)系統(tǒng)的存貯器; 注意: C-SPY ICE200驅(qū)動(dòng)不支持代碼和數(shù)據(jù)覆蓋、規(guī)格化。關(guān)于C-SPY ICE200驅(qū)動(dòng)更詳細(xì)的信息,請(qǐng)參看本手冊(cè)第六部分C-SPY 硬件調(diào)試器系統(tǒng)。 C-SPY JTAGICE驅(qū)動(dòng)C-SPY JTAGICE驅(qū)動(dòng)允許連接AVR® JTAGICE。它提供了自動(dòng)的flash下載,并利用了片上調(diào)試的性能。C-SPY JTAGICE驅(qū)動(dòng)提供了低成本的實(shí)時(shí)調(diào)試功能。特性除了具有IAR C-SPY 調(diào)試器的基本特性外,C-SPY JTAGICE驅(qū)動(dòng)還具備: 全部面向微控制器的實(shí)時(shí)運(yùn)行。
19、 使用目標(biāo)設(shè)備上的硬件斷點(diǎn)。 不占用目標(biāo)系統(tǒng)的存貯器; 內(nèi)置的flash下載器。 串口通信。 注意: C-SPY JTAGICE驅(qū)動(dòng)不支持代碼和數(shù)據(jù)覆蓋、規(guī)格化。關(guān)于IAR C-SPY軟仿真器更詳細(xì)的信息,請(qǐng)參看本手冊(cè)第六部分C-SPY 硬件調(diào)試器系統(tǒng)。 C-SPY JTAGICE MKII驅(qū)動(dòng)C-SPY JTAGICE MKII驅(qū)動(dòng)允許連接AVR® JTAGICE MKII。它提供了自動(dòng)的flash下載,并利用了片上調(diào)試的性能。C-SPY JTAGICE MKII 驅(qū)動(dòng)提供了低成本的實(shí)時(shí)調(diào)試功能。
20、特性 除了具有IAR C-SPY 調(diào)試器的基本特性外,C-SPY JTAGICE MKII驅(qū)動(dòng)還具備: 全部面向微控制器的實(shí)時(shí)運(yùn)行。 使用目標(biāo)設(shè)備上的4個(gè)硬件斷點(diǎn),以及不限數(shù)量的軟件斷點(diǎn)。 不占用目標(biāo)系統(tǒng)的存貯器; 內(nèi)置的flash下載器。 通過串口或USB連接實(shí)現(xiàn)通信; 注意: C-SPY JTAGICE MKII驅(qū)動(dòng)不支持代碼和數(shù)據(jù)覆蓋、規(guī)格化。關(guān)于C-SPY JTAGICE MKII驅(qū)動(dòng)更詳細(xì)的信息,請(qǐng)參看本手冊(cè)第六部分C-SPY 硬件調(diào)試器系統(tǒng)。C-SPY CRYPTO 控制器RO
21、M監(jiān)視器驅(qū)動(dòng)C-SPY CRYPTO 控制器ROM監(jiān)視器驅(qū)動(dòng)(CCR驅(qū)動(dòng))允許連接到Atmel Smart Card開發(fā)板(SCDB)和Voyager開發(fā)系統(tǒng)。特性 除了具有IAR C-SPY 調(diào)試器的基本特性外,CCR驅(qū)動(dòng)還具備: 實(shí)時(shí)運(yùn)行; RS-232串口通信; 支持實(shí)時(shí)中斷; 注意: C-SPY ROM監(jiān)視器不支持代碼覆蓋。關(guān)于IAR C-SPY ROM監(jiān)視器更詳細(xì)的信息,請(qǐng)參看本手冊(cè)第六部分C-SPY 硬件調(diào)試器系統(tǒng)。1.1.4 IAR C/C+編譯器AVR IAR C/C+編譯器是一個(gè)具有世界先進(jìn)水平的具備標(biāo)準(zhǔn)C/C+
22、特性的編譯器,眾多的擴(kuò)展插件讓用戶可以更好地使用AVR的特定功能。編譯器已經(jīng)和其他的AVR 的IAR系統(tǒng)集成。特性 AVR IAR C/C+編譯器具備以下特性: 代碼生成 普通或特定的AVR的最優(yōu)化技術(shù)可以產(chǎn)生出高效的機(jī)器代碼; 全面的輸出選擇,包括可重定位的目標(biāo)代碼、匯編源代碼和可選的匯編器列表文件; 目標(biāo)代碼可與匯編器連接; 生成擴(kuò)展的調(diào)試信息。 語言工具: 支持C 或 C+編程語言; 具有支持IAR擴(kuò)展的嵌入式C+的特性:模板、名稱空間、多重的虛擬外設(shè)、固定
23、操作符(static_cast, const_cast,和 reinterpret_cast),以及標(biāo)準(zhǔn)的模板庫(STL); 在不同的存儲(chǔ)器中放置類; 作為一個(gè)獨(dú)立自主的環(huán)境,與ISO/ANSI標(biāo)準(zhǔn)相一致; 有特殊目標(biāo)語言的擴(kuò)展,比如特殊函數(shù)的輸入,擴(kuò)展的關(guān)鍵字,#pragma 指示,預(yù)設(shè)標(biāo)志,內(nèi)部函數(shù),完全分配和行內(nèi)匯編器; 針對(duì)嵌入系統(tǒng)的應(yīng)用函數(shù)的標(biāo)準(zhǔn)庫; 與IEEE標(biāo)準(zhǔn)兼容的浮點(diǎn)算法; 可在C或者C+中應(yīng)用的中斷函數(shù)。類型檢查 在編譯時(shí)
24、進(jìn)行擴(kuò)展類型檢查; 在連接時(shí)進(jìn)行外部調(diào)用類型檢查; 連接時(shí)檢查應(yīng)用程序的內(nèi)部模塊移植性。 運(yùn)行環(huán)境AVR IAR Embedded Workbench提供了兩套運(yùn)行庫: IAR DLIB庫,支持ISO/ANSI C和 C+ 。這個(gè)庫還支持IEEE 754格式的浮點(diǎn)數(shù),多字節(jié)參數(shù)和局部參數(shù)。 IAR CLIB庫是一種輕型庫,并不完全與ISO/ANSI C 兼容。同時(shí),它也不支持IEEE 745格式或者C+格式?,F(xiàn)在有幾種模式來定制運(yùn)行環(huán)境和運(yùn)行庫。 就這兩種運(yùn)行庫而言,庫的源代碼已經(jīng)包含在其中了。文檔 AVR
25、IAR C/C+編譯器在AVR ® IAR C/C+ 編譯器參考手冊(cè)里有詳細(xì)介紹。1.1.5 IAR匯編器AVR IAR 匯編器同其他的IAR系統(tǒng)軟件集成。它是一個(gè)強(qiáng)大的重定位宏匯編器(支持Intel/Motorola格式),并且含有多種指示符和表達(dá)式。它具備一個(gè)內(nèi)部C語言預(yù)處理器,因而支持條件匯編。AVR IAR匯編器使用與Atmel®公司AVR匯編器相同的存貯機(jī)制和操作語法,從而簡化了對(duì)已有代碼的移植過程。關(guān)于詳細(xì)信息,請(qǐng)參見匯編器AVR® IAR匯編器參考手冊(cè)。特性 AVR IAR 匯編器具備以下特性: C預(yù)處理器;
26、; 擴(kuò)展的交叉調(diào)用輸出的列表文件; 由可用存貯器大小決定參數(shù)個(gè)數(shù)和程序大小; 支持外部調(diào)用的復(fù)雜表達(dá)式; 每個(gè)模塊有多達(dá)65536個(gè)可重定位段; 在參數(shù)表中有255個(gè)重要參數(shù)。文檔 AVR IAR匯編器在AVR®IAR 匯編器參考手冊(cè)里有詳細(xì)介紹。 1.1.6 IAR XLINK連接器IAR XLINK 連接器連接一個(gè)或多個(gè)由AVR IAR 匯編器或者AVR IAR C/C+編譯器產(chǎn)生的可重定位的目標(biāo)文件,并生成AVR 處理器所需的機(jī)器代碼。它在連接小的單個(gè)文件、完全匯編程序時(shí)同連接大的、可重定位
27、的、多模塊的C/C+或混合C/C+以及匯編程序時(shí)一樣快捷便利。它可以識(shí)別超過30種的工業(yè)標(biāo)準(zhǔn)的代碼,另外還包括IAR C-SPY調(diào)試器所使用的IAR系統(tǒng)調(diào)試格式UBROF(通用的二進(jìn)制可重定位目標(biāo)文件格式)。一個(gè)應(yīng)用程序可由任意多個(gè)UBROF可重定位文件構(gòu)成,并且可以和匯編器以及C或C+程序合成。IAR XLINK 連接器最終輸出結(jié)果是一個(gè)完整的、可執(zhí)行的目標(biāo)文件,并可以下載到AVR的處理器中或到一個(gè)硬件仿真器中。當(dāng)然,輸出文件是否包含調(diào)試信息取決于用戶所選擇的輸出格式。IAR XLINK 連接器支持用戶定義庫,并只下載那些在連接應(yīng)用程序時(shí)所需的模塊。在連接前,IAR XLINK 連接器將對(duì)所
28、有的模塊進(jìn)行C語言級(jí)的類型檢查,并對(duì)所有輸入文件中的所有參數(shù)進(jìn)行完全的可靠性檢查。它還對(duì)所有的模塊進(jìn)行統(tǒng)一的編譯器設(shè)置檢查,從而確保使用C或C+運(yùn)行庫的正確類型和參數(shù)。特性 完全的內(nèi)部模塊類型檢查; 簡易的庫模塊的覆蓋; 靈活的段命令可以更細(xì)致地掌控代碼和數(shù)據(jù)的定位; 連接符的定義使對(duì)配置的控制更加自如; 可選的代碼檢測(cè)功能對(duì)運(yùn)行監(jiān)測(cè); 去除無用代碼和數(shù)據(jù)。 文檔 IAR XLINK 連接器在IAR Linker和庫工具參考手冊(cè)中有詳細(xì)介紹。1.1.7 IAR X
29、AR Library Builder庫創(chuàng)建器和IAR XLIB Librarian庫管理器一個(gè)庫是包含一系列可重定位目標(biāo)模塊的單個(gè)文件,每個(gè)模塊都按需要加載到文件中,互相獨(dú)立。IAR XAR Library Builder庫創(chuàng)建器幫助用戶輕松地創(chuàng)建庫。此外,IAR XLIB Librarian庫管理器使用戶可以對(duì)IAR系統(tǒng)匯編器和編譯器產(chǎn)生的可重定位目標(biāo)庫文件進(jìn)行操作。一個(gè)庫文件與任何由匯編器或編譯器生成的可重定位目標(biāo)文件并沒有區(qū)別,除非它包含了“LIBRARY”類型的模塊。所有的C或C+程序都使用庫,同時(shí)AVR IARC/C+編譯器則使用一些標(biāo)準(zhǔn)的庫文件。特性 IAR XAR Library
30、 Builder庫創(chuàng)建器和IAR XLIB Librarian庫管理器均具備以下特性: 其模塊可以嵌入一個(gè)庫文件中; 交互式或者批量式操作。 IAR XLIB Librarian庫管理器還具備以下特點(diǎn): 其模塊可以列出、添加、插入、更換或移除; 其模塊可以在程序和庫類型間變更; 字段可以列出; 字符可以列出。 文檔 IAR XAR Library Builder庫創(chuàng)建器和IAR XLIB Librarian庫管理器在IAR 連接器和庫工具參考手冊(cè)中有詳細(xì)介紹。另外,
31、在嵌入式IAR Embedded Workbench 的幫助菜單中還有一份PDF格式的文檔供查詢。1.2已安裝文件本章介紹了安裝過程中創(chuàng)建了哪些目錄以及使用了哪些文件類型。在本章末尾,介紹了在不同版本的手冊(cè)和在線文檔中可以找到的信息。參考產(chǎn)品附帶的“快速入門”和“安裝和注冊(cè)手冊(cè)”,可以查到關(guān)于系統(tǒng)要求以及如何安裝及注冊(cè)IAR系統(tǒng)產(chǎn)品的信息。1.2.1目錄結(jié)構(gòu)安裝過程中創(chuàng)建了幾個(gè)目錄,用來放置IAR系統(tǒng)開發(fā)工具所使用的不同類型的文件。下面就詳細(xì)講解每個(gè)目錄下默認(rèn)的文件。根目錄 在安裝過程中創(chuàng)建的默認(rèn)根目錄為:x:Program FilesIAR SystemsEmbedded Workbench
32、 4.n, x是指Microsoft Windows 的安裝目錄,而4.n是嵌入式IAR Embedded Workbench IDE的版本號(hào)。 11 注意:安裝路徑可與上圖設(shè)置不同,這取決于先前安裝的IAR產(chǎn)品以及用戶個(gè)人的喜好。AVR 目錄 Avr目錄包含所有特定產(chǎn)品的相關(guān)子目錄。Avrbin目錄Avrbin子目錄包含特殊AVR插件的可執(zhí)行文件,比如AVR IAR C/C+編譯器,AVR IAR 匯編器和AVR IARC-SPY驅(qū)動(dòng)。Avrconfig目錄Avrconfig子目錄包含用于配置開發(fā)環(huán)境和工程的文件,比如: 連接器命令模板文件(*.xcl) ⣶
33、98; 特殊函數(shù)注冊(cè)描述文件(*.sfr) C-SPY 設(shè)備描述文件(*.ddf) 語法著色配置文件(*.cfg) 應(yīng)用工程和庫工程文件的模板文件(*.ewp)以及它們相應(yīng)的庫配置文件。Avrdoc目錄Avrdoc目錄包含AVR工具的最新信息的幫助文檔。我們建議用戶先讀一下這些文檔。該目錄下也包含了本手冊(cè)和AVR參考手冊(cè)的在線超文本(PDF格式)文件,還有在線幫助文件(CHM格式)。Avrinc目錄Avrinc子目錄包含內(nèi)部文件,比如標(biāo)準(zhǔn)C或C庫的頭文件。同樣,還有定義特定功能寄存器的特殊頭文件,而這些文件主要由編譯器和匯編器來
34、使用。Avr lib目錄Avr lib子目錄包含編譯器使用的預(yù)先創(chuàng)建的庫以及相應(yīng)的庫配置文件。Avr src目錄Avr src 子目錄包含一些可配置庫功能的源文件以及一些應(yīng)用程序代碼示例。此外還包含庫的源代碼。Avrtutor 目錄 Avrtutor 子目錄包含本文檔中的教程的相應(yīng)文件。公共目錄 公共目錄包含所有嵌入式IAR Embedded Workbench 產(chǎn)品共享的插件所在的子目錄。Commonbin 目錄Commonbin 子目錄包含所有嵌入式IAR Embedded Workbench 產(chǎn)品共享插件的可執(zhí)行文件,例如IAR XLINK Linker,IAR XLIB Librari
35、an,IAR XAR Library Builder以及編輯器和圖形用戶接口插件。IAR Embedded Workbench的可執(zhí)行文件也放置在這里。 Commonconfig 目錄Commonconfig 子目錄包含嵌入式IAR EmbeddedWorkbench在開發(fā)環(huán)境中所保持的設(shè)置。Commondoc 目錄Commondoc 子目錄包含了所有嵌入式IAR Embedded Workbench產(chǎn)品的共享插件的最新信息的幫助文檔,例如連接器和庫工具。我們建議用戶先讀一下這些文檔。這個(gè)目錄還包括“IAR連接器和庫工具參考手冊(cè)”的PDF在線版文檔。Commonplugin目錄Commonpl
36、ugin子目錄包含可作為載入式插件模塊的插件的執(zhí)行文件與描述文件。Commonsrc 目錄Commonsrc 子目錄包含所有嵌入式IAR Embedded Workbench產(chǎn)品的共享插件的源文件,比如一個(gè)簡單的IAR XLINK 連接器的輸出格式文件“SIMPLE”。1.2.2文件類型IAR系統(tǒng)的開發(fā)工具的AVR版中使用下列默認(rèn)的文件擴(kuò)展名來確認(rèn)IAR特定文件類型:當(dāng)用戶需要確定一個(gè)文件名時(shí),可以引用一個(gè)清楚的擴(kuò)展名來覆蓋默認(rèn)的文件擴(kuò)展名。擴(kuò)展名為ini和dni的文件是在運(yùn)行嵌入式IAR Embedded Workbench 工具時(shí)同步生成的。這些文件包含關(guān)于用戶的工程配置及其他設(shè)置的信息,
37、然后被放到工程目錄下的settings子目錄里。注意:如果用戶是從命令行來運(yùn)行工具,XLINK列表文件(映象)會(huì)采用默認(rèn)的擴(kuò)展名lst,這樣可能會(huì)覆蓋由編譯器所生成的擴(kuò)展名。因此我們簡易用戶將XLINK的映象文件完整地定義出來,比如project1.map。1.2.3文檔這部分簡要介紹了在AVR用戶手冊(cè)和參考手冊(cè)中地信息,以及一些在線幫助。用戶可以在嵌入式IAR Embedded Workbench中的help菜單里訪問AVR的在線文檔?;蚴前碏1,在IAR EmbeddedWorkbench IDE中獲取幫助。我們建議用戶讀一下readme.htm文件以獲得最新的信息,而用戶手冊(cè)里有可能沒有
38、這些信息。它放在AVRdoc目錄下。用戶和參考手冊(cè) 嵌入式IAR Embedded Workbench提供以下的用戶和參考手冊(cè): AVR® IAR Embedded Workbench® IDE用戶手冊(cè)即本文檔。 AVR® IAR C/C+編譯器參考手冊(cè)這本手冊(cè)提供關(guān)于AVR IAR C/C+編譯器的相關(guān)信息。用戶可以通過它查看到: 如何配置編譯器以適應(yīng)用戶的目標(biāo)處理器,并達(dá)到應(yīng)用程序要求; 如何為用戶的目標(biāo)處理器寫高效代碼; 匯編語言接口和調(diào)用規(guī)則; 可用數(shù)據(jù)類型;
39、48698; 運(yùn)行庫; IAR語言擴(kuò)展。AVR® IAR的匯編器參考手冊(cè)該手冊(cè)介紹了AVR IAR匯編器的相關(guān)信息,包括匯編器源代碼格式的細(xì)節(jié)信息以及操作、指示符、存貯和診斷。IAR連接器和庫工具參考手冊(cè)這篇在線的PDF文檔提供關(guān)于IAR連接器和庫工具的相關(guān)信息: IAR XLINK連接器部分介紹了XLINK選項(xiàng),輸出格式,環(huán)境變量和診斷工具; IAR XAR Library Buillder 庫創(chuàng)建器部分則介紹了XAR選項(xiàng)和輸出; IAR XLIB Librarian 庫管理器部分介紹了關(guān)于XL
40、IB命令,環(huán)境變量和診斷工具。DLIB庫參考信息該在線文檔,格式為HTML,提供了IAR DLIB庫函數(shù)的參考信息。在AVR® IAR Embedded Workbench® IDE在線幫助系統(tǒng)中,含有該文檔。CLIB 庫參考手冊(cè) PDF格式的在線手冊(cè)包含IAR CLIB庫的參考信息。在AVR® IAR EmbeddedWorkbench® IDE在線幫助系統(tǒng)中,含有該文檔。在線幫助 互動(dòng)的在線幫助提供關(guān)于嵌入式的IAR Workbench IDE的菜單和對(duì)話框的參考信息。還有關(guān)于DLIB函數(shù)的關(guān)鍵信息。如果需要查看關(guān)于某一函數(shù)的相關(guān)信息,在編輯器窗口中
41、選擇該函數(shù),然后按F1即可。注意:使用CLIB庫的過程中,如果用戶在編輯器窗口中選擇一個(gè)函數(shù)名稱,然后按下F1鍵,將會(huì)獲取CLIB庫的參考信息。IAR網(wǎng)站在 上能找到最新的關(guān)于IAR系統(tǒng)的信息,在嵌入式的IAR Workbench IDE的Help菜單中也能訪問到。瀏覽該網(wǎng)站,可以看到: 產(chǎn)品發(fā)布信息; 當(dāng)前版本的最新更新; 特殊服務(wù); IAR產(chǎn)品的評(píng)估版拷貝; 技術(shù)支持,包括技術(shù)文檔; 應(yīng)用要點(diǎn)說明; 鏈接到芯片供應(yīng)商和其他相關(guān)站點(diǎn);
42、1048698; 各國供應(yīng)商的姓名,地址信息。 第二部分教程AVR® IAR Embedded Workbench® IDE用戶手冊(cè)的這部分包括以下章節(jié): 創(chuàng)建一個(gè)應(yīng)用工程; 使用IAR C-SPY調(diào)試器進(jìn)行調(diào)試; C與匯編語言模塊混合; 使用C+; 模擬一個(gè)中斷; 使用庫模塊; 2.1創(chuàng)建一個(gè)應(yīng)用工程這一章將向用戶介紹IAR EmbeddedWorkbench的集成開發(fā)環(huán)境。 這個(gè)教程展示了一個(gè)典型的開發(fā)流程,并且教用戶如何使用編譯器和連接器
43、來創(chuàng)建一個(gè)適用于AVR芯片的小型應(yīng)用程序。比如,創(chuàng)建一個(gè)工作區(qū),以C語言代碼創(chuàng)建一個(gè)工程,并編譯、連接這個(gè)應(yīng)用程序。 開發(fā)過程在下章中繼續(xù)講解,請(qǐng)參見第37頁,“使用IAR C-SPY調(diào)試器進(jìn)行調(diào)試”。 2.1.1創(chuàng)建一個(gè)新工程使用IAR Embedded Workbench IDE,用戶可以設(shè)計(jì)高級(jí)的工程模型。用戶可以建立一個(gè)工作區(qū),以創(chuàng)建一個(gè)或多個(gè)工程。并且已經(jīng)有現(xiàn)成的工程模板用以開發(fā)應(yīng)用工程和庫。每個(gè)工程都可以建立以組為級(jí)別的結(jié)構(gòu),而在其中用戶可以合理放置用戶的源文件。每個(gè)工程用戶都可以定義一個(gè)或多個(gè)build配置。如想了解更多關(guān)于工程模塊的信息,請(qǐng)參看“工程管理”一章。因?yàn)楸窘坛讨械某?/p>
44、序都是含有很少文件的簡單程序,所以沒有使用高級(jí)工程模型。 我們建議用戶創(chuàng)建一個(gè)特定目錄,用來存放工程文件。在教程中,我們稱這個(gè)目錄為“projects”。 用戶可以在AVRtutor目錄下找到在教程中所需的文件。 在創(chuàng)建工程前,應(yīng)先創(chuàng)建一個(gè)工作區(qū)。創(chuàng)建一個(gè)工作區(qū)窗口 在教程程序中,第一步應(yīng)先創(chuàng)建一個(gè)新的工作區(qū)。當(dāng)用戶第一次打開IAR Embedded Workbench時(shí),應(yīng)該已經(jīng)有一個(gè)建好的工作區(qū),在其中可以使用教程程序。如果用戶是使用那個(gè)工作區(qū)的話,就可以忽略第一步。選擇File>New>Workspace?,F(xiàn)在用戶已經(jīng)做好了準(zhǔn)備,來創(chuàng)建一個(gè)工程,并且將它放入工作區(qū)。創(chuàng)建新工程
45、1.創(chuàng)建一個(gè)新工程,選擇Project->Create New Project。彈出Create New Project對(duì)話框,可以讓用戶按照模板創(chuàng)建新工程。 在教程中,選擇程序模板Empty project,可以快速創(chuàng)建一個(gè)采用默認(rèn)設(shè)置的空白工程。 2.確認(rèn)Tool chain選項(xiàng)已經(jīng)設(shè)置為AVR,然后點(diǎn)擊OK。 3.彈出一個(gè)標(biāo)準(zhǔn)的Save As 對(duì)話框,確認(rèn)用戶想放置工程文件的地方,即新創(chuàng)建的projects目錄。在File name對(duì)話框中鍵入project1,然后點(diǎn)擊Save,從而創(chuàng)建新工程。 這個(gè)工程就出現(xiàn)在工作區(qū)窗口中了。默認(rèn)狀態(tài)下,系統(tǒng)產(chǎn)生兩個(gè)創(chuàng)建配置:調(diào)試和發(fā)布。在教程中
46、,只使用Debug。在窗口頂部的下拉菜單中,用戶可以選擇build配置選項(xiàng)。項(xiàng)目名稱中的星號(hào)指的是修改還沒有保存。 一個(gè)工程文件,其文件擴(kuò)展名為ewp,已經(jīng)創(chuàng)建在project目錄下了。這個(gè)文件包含用戶的工程的特殊設(shè)定,例如build選項(xiàng)。 4.在用戶向工程中添加任何文件時(shí),應(yīng)該先保存工作區(qū)。選擇File>Save Workspace,并且說明工作區(qū)文件的存放路徑。在本教程中,用戶還可以將它放到新建立的projects目錄下。 在File name對(duì)話框中鍵入tutorials,點(diǎn)擊Save來創(chuàng)建新的工作區(qū)。一個(gè)工作區(qū)文件其文件擴(kuò)展名為eww已經(jīng)創(chuàng)建在projects目錄下了。這個(gè)文件列
47、出了所有用戶想加入這個(gè)工作區(qū)的工程。與之相關(guān)的信息,例如窗口放置和斷點(diǎn)設(shè)置都放在projectssettings目錄下。添加文件到工程中 教程中使用源文件Tutor.c 和Utilities.c。 Tutor.c程序是只用標(biāo)準(zhǔn)C語言編寫的簡單程序。它計(jì)算出Fibonacci數(shù)列的前十個(gè)數(shù),并把結(jié)果顯示在stdout上; Utilities.c程序包含了Fibonacci數(shù)列的相應(yīng)算法。創(chuàng)建幾個(gè)組可以使用戶根據(jù)工程需要來合理、有效地管理源文件。但是,現(xiàn)在這個(gè)工程中只含有兩個(gè)文件,所以沒有必要建一個(gè)組。如想了解更多關(guān)于創(chuàng)建復(fù)雜工程結(jié)構(gòu)的信息,請(qǐng)查閱“工程管
48、理”一章。1.在工作區(qū)窗口中,選擇用戶想放置源文件的目標(biāo)地址、或者一個(gè)組,在這種情況下,就直接指向工程。2.選擇Project>Add Files,打開一個(gè)標(biāo)準(zhǔn)的瀏覽對(duì)話框。轉(zhuǎn)到Tutor.c 和Utilities.c所在位置,將它們選中,然后點(diǎn)擊Open將它們加入到工程Project1中。 20 設(shè)置工程選項(xiàng)接下來要設(shè)置工程選項(xiàng)。對(duì)于應(yīng)用工程,可以在所有節(jié)點(diǎn)上設(shè)置這些選項(xiàng)。在該教程中,首先要設(shè)置基本選項(xiàng)來適應(yīng)處理器的配置。因?yàn)檫@些設(shè)置在整個(gè)build配置中必須一致,它們將被設(shè)置到工程節(jié)點(diǎn)上。1. 在工作區(qū)窗口中選擇工程文件夾project1->Debug,然后選擇Project-
49、>Options選項(xiàng)。General 選項(xiàng)中的Target 選項(xiàng)頁被顯示出來。確認(rèn)下列設(shè)置: 接著要設(shè)定該工程的編譯器選項(xiàng) 2.在Category列表中,選擇C/C+ Compiler 顯示編譯器選項(xiàng)頁。 3確認(rèn)下列設(shè)定4.擊OK確認(rèn)用戶的設(shè)置注意:在Build消息窗口中顯示的信息可以進(jìn)行自定義設(shè)置。在本教程中,沒有使用默認(rèn)設(shè)置。因此,Build消息窗口的內(nèi)容可能不同于上述屏幕內(nèi)容?,F(xiàn)在可以開始創(chuàng)建工程了。 2.1.2應(yīng)用程序編譯和連接至此,用戶可以開始編譯和連接應(yīng)用程序。當(dāng)然用戶應(yīng)該創(chuàng)建一個(gè)編譯器列表文件和一個(gè)連接庫文件,并查看它們的內(nèi)容。編譯源文件1. 編譯Utilities.c文件
50、,在工作區(qū)窗口中選中它。2. 選擇Project->Complie 同樣的,用戶也可以點(diǎn)擊工具欄上的Compile按鈕或是在工作區(qū)的選擇文件處點(diǎn)擊右鍵彈出菜單的Compile命令。其進(jìn)程將顯示在Build 消息框中。圖8 編譯消息 3. 按照同樣方式編譯Tutor.c 文件。 IAR Embedded Workbench 在用戶的工程目錄下已經(jīng)創(chuàng)建了新的目錄。因?yàn)橛脩粽褂胋uild配置命令Debug,所以一個(gè)Debug目錄已經(jīng)創(chuàng)建,并且?guī)в衛(wèi)ist,obj和exe目錄: List目錄用來放置list文件。同時(shí)list文件擴(kuò)展名為lst; Ob
51、j目錄用來放置由編譯器和匯編器產(chǎn)生的目標(biāo)文件。這些文件的擴(kuò)展名為r90,并用來作為IAR XLINK Linker的輸入; Exe目錄用來放置可執(zhí)行文件。其擴(kuò)展名為d90,并用來作為IAR C-SPY調(diào)試器的輸入。注意,除非用戶已連接了object文件,否則此目錄為空。點(diǎn)擊工作區(qū)窗口中目錄樹節(jié)點(diǎn)上的加號(hào),使視圖擴(kuò)展開。用戶可以看到,IAR Embedded Workbench已經(jīng)在包含輸出文件的工作區(qū)窗口中創(chuàng)建了一個(gè)輸出文件夾。此外,還根據(jù)文件間依賴關(guān)系顯示了內(nèi)部所有的頭文件。查看列表文件 現(xiàn)在需要檢查編譯器的列表文件,并請(qǐng)注意當(dāng)用戶檢查對(duì)生成代碼大小的不同優(yōu)化程度時(shí),它
52、是如何進(jìn)行自動(dòng)更新的。1. 在工作區(qū)窗口中雙擊Utilities.lst,打開文件。檢查該文件的下列信息: header部分顯示產(chǎn)品版本,文件創(chuàng)建時(shí)間以及曾經(jīng)使用的編譯器的命令行版本; body部分顯示匯編代碼和每個(gè)語句的二進(jìn)制代碼。還有分配給不同段的相關(guān)變量; end部分顯示堆棧大小,代碼以及數(shù)據(jù)所需存貯器空間,還有可能產(chǎn)生的錯(cuò)誤或警告信息。注意在文件末端顯示的生成代碼大小信息,并將文件一直打開。 2.選擇Tools->Options,打開IDE Options 對(duì)話框,點(diǎn)擊Editor欄。然后選擇Scan for Ch
53、anged Files。此項(xiàng)功能將對(duì)編輯窗口中的文件實(shí)行自動(dòng)更新,比如一個(gè)列表文件。點(diǎn)擊OK按鈕。3. 在工作區(qū)窗口中選擇Utilities.c文件。在工作區(qū)窗口內(nèi)的所選文件上右擊鼠標(biāo),打開C/C+ 編譯器選項(xiàng)對(duì)話框。點(diǎn)擊Code(代碼)欄,選擇Override inherited settings(繼承覆蓋選項(xiàng))。接著在Optimizations(優(yōu)化)下拉菜單中選擇High選項(xiàng)。點(diǎn)擊OK。注意在文件節(jié)點(diǎn)處的override(覆蓋)選項(xiàng)是指位于工作區(qū)窗口內(nèi)的。4. 對(duì)Utilities.c進(jìn)行編譯。用戶需要注意兩件事情。第一,打開的列表文件的自動(dòng)更新取決于Scan for Changed F
54、iles選項(xiàng)。第二,觀察列表文件的末尾,注意代碼大小受不斷優(yōu)化的效果。5. 在教程中,使用的優(yōu)化程度為“None”,因此在連接應(yīng)用程序之前,要先恢復(fù)為默認(rèn)的優(yōu)化程度。在工作區(qū)窗口內(nèi)的所選文件上右擊鼠標(biāo),打開C/C+ 編譯器選項(xiàng)對(duì)話框。不選擇Override inherited settings(繼承覆蓋選項(xiàng)),然后點(diǎn)擊OK。重編譯Utilities.c文件。連接應(yīng)用程序 現(xiàn)在用戶應(yīng)該設(shè)置IAR XLINK LinkerTM的選項(xiàng)。1. 在工作區(qū)窗口中選擇工程文件夾project1->Debug,然后選擇Project->Options選項(xiàng)。接著在Category列表中選擇Linke
55、r,打開XLINK選項(xiàng)頁。 對(duì)于該教程,使用出廠的默認(rèn)設(shè)置。對(duì)于連接器指令文件和輸出格式的選擇是很重要的。 輸出格式 選擇合適的輸出格式非常重要。也許用戶想將它加載到調(diào)試器中即需要在輸出中顯示調(diào)試信息。在本教程中,用戶會(huì)用到C-SPY Debug information,選擇With I/O 仿真模塊選項(xiàng),意味著一些低級(jí)別的進(jìn)程會(huì)被連接,即在C-SPY調(diào)試器中把stdin和stdout直接導(dǎo)入到終端I/O窗口中。用戶可以在Output頁看到這些選項(xiàng)?;蛘?,用戶想將輸出結(jié)果加載到一個(gè)PROM編程器中,此時(shí)就不需要在輸出中顯示調(diào)試信息,比如用Intel-hex 或Motorola S-record
56、s。連接器命令文件 在連接命令文件中,用XLINK命令行選項(xiàng)控制段的放置。熟悉連接器命令文件和段的放置方法是很重要的。在AVR® IAR C/C+編譯器參考手冊(cè)中,含有更詳細(xì)的信息。產(chǎn)品提供的連接命令模板可用在仿真器中,但當(dāng)用于實(shí)際目標(biāo)系統(tǒng)時(shí),就必須根據(jù)實(shí)際的硬件存儲(chǔ)情況來調(diào)整其設(shè)置。用戶可以在config目錄下找到系統(tǒng)提供的連接器指令文件。該教程中,用戶可以使用默認(rèn)的連接器命令文件,該文件可以在Config頁中看到。如果用戶想檢驗(yàn)連接命令文件,可以使用一個(gè)合適的文本編輯器,比如嵌入式IAREmbedded Workbench編輯器,或者打印一份該文件的拷貝,然后驗(yàn)證其定義是否符合用
57、戶的要求。2. 點(diǎn)擊OK,保存XLINK的設(shè)置。現(xiàn)在用戶應(yīng)該連接目標(biāo)文件了,接著生成可調(diào)試的代碼。 3. 選擇Project->Make。其進(jìn)程在Build消息窗口中顯示。連接的結(jié)果是得到一個(gè)含有調(diào)試信息的代碼文件project1.d90以及一個(gè)映象文件project1.map。查看映象文件 檢查project1.map文件,觀察段是如何定義以及代碼是怎樣放置在存貯器中的。一個(gè)映象文件主要包含以下幾點(diǎn)信息: header包含連接選項(xiàng); CROSS REFERENCE段顯示程序開始段的地址; RUNTIME MODEL段顯示
58、運(yùn)行模式的相關(guān)屬性; MODULE MAP顯示被連接的文件。對(duì)每個(gè)文件而言,模塊信息都作為程序的一部分被加載和顯示,包括段標(biāo)號(hào)和各段中定義的全址標(biāo)號(hào)。 SEGMENTS IN ADDRESS ORDER 部分列出了所有構(gòu)成用戶的程序的段。至此,project1.d90程序已經(jīng)可以在IAR C-SPY調(diào)試器中運(yùn)行了。2.2使用IAR C-SPYDebugger進(jìn)行調(diào)試這一章繼續(xù)上章開始的開發(fā)過程,并講解IAR C-SPY Debugger的基本特點(diǎn)。注意,IAR C-SPY Debugger安裝與否,取決于用戶所安裝的IAR產(chǎn)品的版本。本教程假設(shè)用戶正使
59、用的是C-SPY軟仿真器。程序調(diào)試 在上章中創(chuàng)建的project1.d90程序,現(xiàn)在可以在IAR C-SPY Debugger上運(yùn)行了。用戶可以監(jiān)控變量,設(shè)置斷點(diǎn),反匯編查看源代碼,控制寄存器和存貯器,以及在終端I/O窗口中查看程序輸出結(jié)果。啟動(dòng)調(diào)試器 在啟動(dòng)IAR C-SPY Debugger之前,用戶必須設(shè)定C-SPY的幾個(gè)相關(guān)選項(xiàng)。1. 選擇Project->Options,然后選擇Debugger列表。在Setup頁,確認(rèn)在Driver下拉菜單中選擇了Simulator選項(xiàng),接著選擇Run to main。點(diǎn)擊OK。2 選擇Project->Debug?;蛘唿c(diǎn)擊位于工具欄上
60、的Debugger按鈕。從而啟動(dòng)IAR C-SPY Debugger,并加載了project1.d90應(yīng)用程序。除了在嵌入式Workbench中已經(jīng)打開的窗口,還有一系列C-SPY的特殊窗口。窗口管理在IAR Embedded Workbench中,用戶可以在特定位置停靠窗口,并利用標(biāo)簽組來管理它們。用戶也可以使某個(gè)窗口處于“懸浮”狀態(tài),即讓它始終處于其他窗口的上層。如果用戶改變了“懸浮窗口”的大小和位置,其他窗口不受影響。狀態(tài)欄,位于嵌入式Workbench的主窗口的底部,包含了如何管理窗口的幫助信息。對(duì)于更為詳細(xì)的信息,請(qǐng)參考P77頁,屏幕中的窗口管理。確保下列窗口和窗口內(nèi)容始終開啟,并處于屏幕上的視野內(nèi):打開了build配置文件tutorials-project1的工作區(qū)窗口,打開了Tutor.c和Utilities.c源文件的編輯窗口以及調(diào)試日志窗口。查看源文件語句 1. 要查看源文件語句,在工作區(qū)中雙擊Tutor.c文件。2. 在編輯窗口中顯示Tutor.c文件,首先執(zhí)行Debug->Step Over 命令。 或者點(diǎn)擊
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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è)第11課《秦朝的統(tǒng)一》聽課評(píng)課記錄
- 新人教版九年級(jí)歷史下冊(cè)第19課《現(xiàn)代音樂和電影》聽課評(píng)課記錄
- 蘇科版九年級(jí)數(shù)學(xué)聽評(píng)課記錄:第31講 與圓有關(guān)的位置關(guān)系
- 人教版九年級(jí)數(shù)學(xué)下冊(cè):29《復(fù)習(xí)題》聽評(píng)課記錄1
- 二年級(jí)體育聽評(píng)課記錄
- 首師大版道德與法治七年級(jí)下冊(cè)1.2《彼此尊重顯自尊》聽課評(píng)課記錄
- 五年級(jí)數(shù)學(xué)下冊(cè)聽評(píng)課記錄-《6 圓的面積》蘇教版
- 蘇教版小學(xué)數(shù)學(xué)四年級(jí)上口算部分
- 三年級(jí)語文教學(xué)計(jì)劃模板
- 新員工入職工作計(jì)劃書
- 《社區(qū)工作者培訓(xùn)課件 新浪版》
- 教育信息化背景下的學(xué)術(shù)研究趨勢(shì)
- 人教版小學(xué)數(shù)學(xué)(2024)一年級(jí)下冊(cè)第五單元100以內(nèi)的筆算加、減法綜合素養(yǎng)測(cè)評(píng) B卷(含答案)
- 2024-2025學(xué)年北京市豐臺(tái)區(qū)高三語文上學(xué)期期末試卷及答案解析
- 2024年度體育賽事贊助合同:運(yùn)動(dòng)員代言與贊助權(quán)益2篇
- 2025屆西藏林芝一中高三第二次診斷性檢測(cè)英語試卷含解析
- 藥企銷售總經(jīng)理競聘
- 開封市第一屆職業(yè)技能大賽健康照護(hù)項(xiàng)目技術(shù)文件(國賽)
- 公路電子收費(fèi)系統(tǒng)安裝合同范本
- 醫(yī)院培訓(xùn)課件:《傷口評(píng)估與測(cè)量》
- 2021年全國高考物理真題試卷及解析(全國已卷)
評(píng)論
0/150
提交評(píng)論