IAR_使用最全方法_第1頁
IAR_使用最全方法_第2頁
IAR_使用最全方法_第3頁
IAR_使用最全方法_第4頁
IAR_使用最全方法_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 軟件介紹AVR® IAR Embedded Workbench® IDE用戶手冊的這部分包括以下章節(jié): 􀁺 產(chǎn)品介紹 􀁺 已安裝文件 1.1產(chǎn)品介紹嵌入式IAR Embedded Workbench®是一個非常有效的集成開發(fā)環(huán)境(IDE),它使用戶充分有效地開發(fā)并管理嵌入式應用工程。作為一個開發(fā)平臺,它具備任何在用戶每天的工作地方所想要的特性。本章介紹了嵌入式IAR Embedded Workbench IDE,旨在使用戶獲得對本產(chǎn)品的所有集成工具的總體了解。 1.1.1嵌入式IAR Embedded Workbench ID

2、E 嵌入式IAR Embedded Workbench IDE提供一個框架,任何可用的工具都可以完整地嵌入其中,這些工具包括: 􀁺 高度優(yōu)化的IAR AVR C/C+編譯器; 􀁺 AVR IAR匯編器; 􀁺 通用IAR XLINK Linker; 􀁺 IAR XAR庫創(chuàng)建器和 IAR XLIB Librarian; 􀁺 一個強大的編輯器; 􀁺 一個工程管理器; 􀁺 IAR C-SPYTM調(diào)試器,一個具有世界先進水平的高級語言調(diào)試器。嵌入式IAR Embedded Wor

3、kbench適用于大量8位、16位以及32位的微處理器和微控制器,使用戶在開發(fā)新的項目時也能在所熟悉的開發(fā)環(huán)境中進行。它為用戶提供一個易學和具有最大量代碼繼承能力的開發(fā)環(huán)境,以及對大多數(shù)和特殊目標的支持。嵌入式IAR Embedded Workbench有效提高用戶的工作效率,通過IAR工具,用戶可以大大節(jié)省工作時間。 我們稱這個理念為:“不同架構,同一解決方案”。如果用戶想獲得關于所支持的目標處理器的更詳細的信息,請與用戶的軟件提供商或者與用戶的IAR代理聯(lián)系,或者登陸IAR網(wǎng)站 以查詢最新的產(chǎn)品信息。 一個可擴展的模塊化的環(huán)境盡管嵌入式IAR Embedded Workbench IDE可

4、以提供完成一個成功工程所需的所有工具,但 我們也認識到集成其他工具的必要性。因此,IAR Embedded Workbench IDE容易適應于用戶喜歡的編輯器和源代碼控制系統(tǒng)。IAR XLINK Linker 可以輸出多種格式,使用戶可在第三方的軟件上進行調(diào)試。實時操作系統(tǒng)(RTOS)支持也可加載到產(chǎn)品中。 編譯器,匯編器和連接器也可在命令行環(huán)境中運行,用戶可以在一個已建好的工程環(huán)境中把它們作為外部工具使用。特性 嵌入式IAR Embedded Workbench是一個靈活的集成開發(fā)環(huán)境,使用戶可以針對多種不同的目標處理器開發(fā)應用程序。并為快速開發(fā)和調(diào)試提供便捷的Windows截面。項目管理

5、 嵌入式IAR Embedded Workbench IDE能幫助用戶控制所有的工程模塊,例如,C或者C源代碼文件、匯編文件、“引用”文件、以及其他相關模塊。用戶創(chuàng)建一個工作區(qū),可以在此開發(fā)一個或多個工程。文件可以組合,并且可以為各級設置選項工程、組、或者文件。任何修改都被記錄,從而保證重新設計時可以獲得所有所需的模塊,而可執(zhí)行文件中不會包含已過期的模塊。下表指出另外的一些特性: 􀁺 通過工程模板可以創(chuàng)建獨立的可編輯和可運行的工程文件,使開發(fā)平穩(wěn)啟動; 􀁺 分級的工程表述; 􀁺 具有分級圖標的源代碼瀏覽器; 􀁺 可以為全球

6、化、組和個人源代碼文件設置選項; 􀁺 “Make”功能只在必要時才實行再編譯、再匯編和再連接文件; 􀁺 基于文本的工程文件; 􀁺 自定義功能使用戶輕松的擴展標準工具欄; 􀁺 工程文件輸入時可使用命令行模式。 源代碼控制 源代碼控制(Source Code Control,SCC),作為修訂控制,可用于跟蹤用戶的源代碼的不同版本。IAR Embedded Workbench可以識別和接受基于Microsoft發(fā)布的SCC接口規(guī)范的任何第三方源代碼控制系統(tǒng)。窗口管理 為使用戶充分而方便地控制窗口的位置,每個窗口都可???,用戶就

7、可以有選擇地給窗口做上標記??赏?康拇翱谙到y(tǒng)還通過一種節(jié)省空間方式使多個窗口可同時打開。另外,重新分配窗口大小也很方便。 2 文本編輯器集成化的文本編輯器可以并行編輯多個文件,并具有時興編輯器所期望的所有編輯特性,包括無限次的撤銷/重做和自動完成。另外它還包含針對軟件開發(fā)的特殊功能,比如關鍵字的著色(C/C+, 匯編和用戶定義等)、段縮進、以及對源文件的導航功能。還可識別C語言元素(例如括號的匹配問題)。下表指出另外的一些特性: 􀁺 上下文智能幫助系統(tǒng)可以顯示DLIB庫的參考信息; 􀁺 使用文本風格和色條指出C、C和匯編程序的語法; 􀁺 強

8、大的搜索和置換功能,包括多文件搜索; 􀁺 從錯誤列表直接跳轉(zhuǎn)到程序行; 􀁺 支持多字節(jié)字符; 􀁺 圓括號匹配 􀁺 自動縮排; 􀁺 書簽功能; 􀁺 每個窗口均可無限次撤銷和重做。 文檔 AVR嵌入式IAR Workbench IDE在本文檔中有詳細講解。另外還有在線的幫助文件以及超文本格式的PDF用戶文檔。1.1.2 IAR C-SPY 調(diào)試器 IAR C-SPY 調(diào)試器是為嵌入式應用程序開發(fā)的高級語言調(diào)試器。在設計上,它與IAR編譯器和匯編器一起工作,并且與嵌入式IAR Embedded

9、 Workbench IDE 完全集成,可在開發(fā)與調(diào)試間自由切換。因此,它使用戶可做到: 􀁺 在調(diào)試時進行編輯。在調(diào)試過程中,源代碼的修正可以直接寫入用來控制調(diào)試過程的同一窗口中。其修改將在項目重啟后生效; 􀁺 在啟動調(diào)試器之前可設置源代碼斷點。源代碼中的斷點可與同一段源代碼相關聯(lián),即使中間插入了新的代碼。IAR C-SPY 調(diào)試器由一個具備基本的C-SPY系列特點的主要部分和驅(qū)動部分組成。C-SPY驅(qū)動確保與目標系統(tǒng)的通信和控制。并提供一個用戶接口特殊菜單,窗口和對話框以連接到目標系統(tǒng)的功能上,比如,特殊斷點。在下面內(nèi)容中,將概述通用C-SPY調(diào)試器的特性

10、。對于可用的C-SPY驅(qū)動的概述,請參見第8頁,IAR C-SPY 調(diào)試器系統(tǒng)。 C-SPY調(diào)試器的總體特性因為IAR 系統(tǒng)提供的是一個整體工具鏈,編譯器和連接器的輸出結果包含調(diào)試器的擴展調(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源代碼是驗證用戶的應用程序的邏輯性最快捷、最便利的方式,然而,反匯編調(diào)試則針對應用程序的錯誤段,并對硬件進行精確控制。在混合顯示模式中,調(diào)試器顯示C/C+源代碼及其對應的反匯編代碼清單。程序調(diào)用

11、級的單步調(diào)試 傳統(tǒng)的調(diào)試器設置,認為最佳的源代碼調(diào)試間隔是“行到行”,與之相比,C-SPY則更細化,將每個語句和調(diào)用函數(shù)稱為“步點”,并加以控制。這就意味著在每個表達式里的函數(shù)調(diào)用,以及函數(shù)調(diào)用作為參數(shù)甚至到其他類型的函數(shù)調(diào)用都可以進行“單步”調(diào)試。后者在調(diào)試C源代碼時特別有效,主要針對大量的外部函數(shù)調(diào)用,比如對象構造器。調(diào)試信息提供了內(nèi)嵌函數(shù),如果執(zhí)行了這類函數(shù)的調(diào)用,也可進行源碼級調(diào)試。 代碼和數(shù)據(jù)斷點 C-SPY斷點系統(tǒng)允許用戶在調(diào)試程序過程中設置多種斷點,并按照特定需要在某一位置停止。用戶可以設置代碼斷點來驗證程序的邏輯性是否正確。也可以設置數(shù)據(jù)斷點來檢驗數(shù)據(jù)如何以及何時改變。最后,用

12、戶還可以添加條件至斷點處。變量和表達式監(jiān)控 當用戶監(jiān)控變量和表達式時,用戶可以選擇很多工具。任何變量和表達式都可通過一次掃描來求值。用戶可以很輕松地在一段較長的時間內(nèi)對已定義的表達式進行監(jiān)控和記錄其值。對局部變量用戶可以直接控制,同時可以無干擾地顯示即時數(shù)據(jù)。最終將自動顯示最后指定的變量。Container響應當用戶在IAR C-SPY調(diào)試器中運行程序時,可以查看諸如STL列表和向量地址等庫內(nèi)數(shù)據(jù)類型。因此,用戶在運行C+ STL containers時,可以對程序進行總體瀏覽,以及良好的調(diào)試。調(diào)用棧信息 AVR IAR C/C+編譯器產(chǎn)生擴展的函數(shù)調(diào)用信息。在不影響整個運行環(huán)境的情況下,無論

13、程序計數(shù)器指在哪里C-SPY都能顯示整個函數(shù)調(diào)用棧信息。用戶可以在調(diào)用棧中選擇任何函數(shù),并且可以獲得相關的局部變量和寄存器的可用信息。強大的宏系統(tǒng)IAR C-SPY 調(diào)試器包含了一個強大的內(nèi)部宏系統(tǒng),能使用戶定義復雜的動作并得以實施。 C-SPY宏可單獨使用也可以同復雜的斷點聯(lián)合使用如果用戶是在使用仿真器的話中斷仿真系統(tǒng)需要進行一系列復雜的動作。C-SPY 調(diào)試器的其他特性 下表指出了一些其他的特性: 􀁺 模塊化和可擴展化的結構設計允許在調(diào)試器中加入第三方設備,比如,實時操作系統(tǒng),外圍仿真模塊和驅(qū)動; 􀁺 線程運行保證在運行目標應用程序時IDE仍處于響應狀態(tài)

14、; 􀁺 自動步進; 􀁺 源代碼瀏覽器可以方便查看函數(shù),類型以及變量; 􀁺 變量的擴展類型識別; 􀁺 可配置化的寄存器(CPU和外圍設備)以及存貯器窗口; 􀁺 支持代碼覆蓋和函數(shù)級模塊化; 􀁺 終端I/O模擬; 􀁺 支持UBROF,Intel擴展和Motorola輸入格式。RTOS 響應IAR C-SPY 調(diào)換器支持實時OS響應調(diào)試。RTOS 插件模塊由IAR以及一些第三方的供貨商提供。如要了解支持RTOS 模塊信息,請聯(lián)系用戶的軟件供應商或IAR代理,或者訪問IAR 網(wǎng)

15、站。文檔 IAR C-SPY調(diào)試器在本文檔中有詳細介紹。調(diào)試器的一般特點在第四部分中有介紹,每個調(diào)試器驅(qū)動特殊性質(zhì)在第五部分IAR C-SPY 仿真器和第六部分C-SPY硬件調(diào)試系統(tǒng)中有介紹。網(wǎng)上還有幫助信息和超文本格式(PDF)文檔。1.1.3 IAR C-SPY 調(diào)試器系統(tǒng) 至本手冊撰寫之時,AVR公司的IAR C-SPY 調(diào)試器針對下列目標系統(tǒng)發(fā)布了驅(qū)動: 􀁺 仿真器; 􀁺 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ū)動的相關信息,請聯(lián)系用戶的軟件供應商或IAR代理。也可登陸IAR網(wǎng)站, 。 如需了解更多關于IAR C-SPY 調(diào)試器的信息,請參看調(diào)試器概念,第107頁。在下面章節(jié),將描述各種驅(qū)動。C-SPY 仿真器驅(qū)動 C-SPY 軟仿真器驅(qū)動在軟件上完全模擬了目標處理器的功能。通過這個驅(qū)動,在獲得相關硬件之前就可對程序的邏輯性進行調(diào)試。因為不需要硬件,它同時也是很多應用程序最有效的解決方案。特性 除具

17、備C-SPY調(diào)試器的基本特點外,軟仿真器驅(qū)動還具備: 􀁺 指令級仿真; 􀁺 中斷模擬; 􀁺 外圍設備仿真,使用C-SPY宏系統(tǒng)與直接斷點并行。關于IAR C-SPY軟仿真器更詳細的信息,請參看第五部分IAR C-SPY 軟仿真器一節(jié)。C-SPY ICE200 驅(qū)動C-SPY ICE200驅(qū)動允許連接AVR® ICE200。C-SPY ICE200 驅(qū)動提供了低成本的實時調(diào)試功能。特性 除了具有IAR C-SPY 調(diào)試器的基本特性外,C-SPY ICE200驅(qū)動還具備: 􀁺 全部面向微控制器的實時運行。 h

18、8698; 代碼斷點數(shù)量不限。 􀁺 不占用目標系統(tǒng)的存貯器; 注意: C-SPY ICE200驅(qū)動不支持代碼和數(shù)據(jù)覆蓋、規(guī)格化。關于C-SPY ICE200驅(qū)動更詳細的信息,請參看本手冊第六部分C-SPY 硬件調(diào)試器系統(tǒng)。 C-SPY JTAGICE驅(qū)動C-SPY JTAGICE驅(qū)動允許連接AVR® JTAGICE。它提供了自動的flash下載,并利用了片上調(diào)試的性能。C-SPY JTAGICE驅(qū)動提供了低成本的實時調(diào)試功能。特性除了具有IAR C-SPY 調(diào)試器的基本特性外,C-SPY JTAGICE驅(qū)動還具備: 􀁺 全部面向微控制器的實時運行。

19、 􀁺 使用目標設備上的硬件斷點。 􀁺 不占用目標系統(tǒng)的存貯器; 􀁺 內(nèi)置的flash下載器。􀁺 串口通信。 注意: C-SPY JTAGICE驅(qū)動不支持代碼和數(shù)據(jù)覆蓋、規(guī)格化。關于IAR C-SPY軟仿真器更詳細的信息,請參看本手冊第六部分C-SPY 硬件調(diào)試器系統(tǒng)。 C-SPY JTAGICE MKII驅(qū)動C-SPY JTAGICE MKII驅(qū)動允許連接AVR® JTAGICE MKII。它提供了自動的flash下載,并利用了片上調(diào)試的性能。C-SPY JTAGICE MKII 驅(qū)動提供了低成本的實時調(diào)試功能。

20、特性 除了具有IAR C-SPY 調(diào)試器的基本特性外,C-SPY JTAGICE MKII驅(qū)動還具備: 􀁺 全部面向微控制器的實時運行。 􀁺 使用目標設備上的4個硬件斷點,以及不限數(shù)量的軟件斷點。􀁺 不占用目標系統(tǒng)的存貯器; 􀁺 內(nèi)置的flash下載器。􀁺 通過串口或USB連接實現(xiàn)通信; 注意: C-SPY JTAGICE MKII驅(qū)動不支持代碼和數(shù)據(jù)覆蓋、規(guī)格化。關于C-SPY JTAGICE MKII驅(qū)動更詳細的信息,請參看本手冊第六部分C-SPY 硬件調(diào)試器系統(tǒng)。C-SPY CRYPTO 控制器RO

21、M監(jiān)視器驅(qū)動C-SPY CRYPTO 控制器ROM監(jiān)視器驅(qū)動(CCR驅(qū)動)允許連接到Atmel Smart Card開發(fā)板(SCDB)和Voyager開發(fā)系統(tǒng)。特性 除了具有IAR C-SPY 調(diào)試器的基本特性外,CCR驅(qū)動還具備: 􀁺 實時運行; 􀁺 RS-232串口通信;􀁺 支持實時中斷; 注意: C-SPY ROM監(jiān)視器不支持代碼覆蓋。關于IAR C-SPY ROM監(jiān)視器更詳細的信息,請參看本手冊第六部分C-SPY 硬件調(diào)試器系統(tǒng)。1.1.4 IAR C/C+編譯器AVR IAR C/C+編譯器是一個具有世界先進水平的具備標準C/C+

22、特性的編譯器,眾多的擴展插件讓用戶可以更好地使用AVR的特定功能。編譯器已經(jīng)和其他的AVR 的IAR系統(tǒng)集成。特性 AVR IAR C/C+編譯器具備以下特性: 代碼生成 􀁺 普通或特定的AVR的最優(yōu)化技術可以產(chǎn)生出高效的機器代碼; 􀁺 全面的輸出選擇,包括可重定位的目標代碼、匯編源代碼和可選的匯編器列表文件; 􀁺 目標代碼可與匯編器連接; 􀁺 生成擴展的調(diào)試信息。 語言工具: 􀁺 支持C 或 C+編程語言; 􀁺 具有支持IAR擴展的嵌入式C+的特性:模板、名稱空間、多重的虛擬外設、固定

23、操作符(static_cast, const_cast,和 reinterpret_cast),以及標準的模板庫(STL); 􀁺 在不同的存儲器中放置類; 􀁺 作為一個獨立自主的環(huán)境,與ISO/ANSI標準相一致; 􀁺 有特殊目標語言的擴展,比如特殊函數(shù)的輸入,擴展的關鍵字,#pragma 指示,預設標志,內(nèi)部函數(shù),完全分配和行內(nèi)匯編器; 􀁺 針對嵌入系統(tǒng)的應用函數(shù)的標準庫; 􀁺 與IEEE標準兼容的浮點算法; 􀁺 可在C或者C+中應用的中斷函數(shù)。類型檢查 􀁺 在編譯時

24、進行擴展類型檢查; 􀁺 在連接時進行外部調(diào)用類型檢查; 􀁺 連接時檢查應用程序的內(nèi)部模塊移植性。 運行環(huán)境AVR IAR Embedded Workbench提供了兩套運行庫: 􀁺 IAR DLIB庫,支持ISO/ANSI C和 C+ 。這個庫還支持IEEE 754格式的浮點數(shù),多字節(jié)參數(shù)和局部參數(shù)。􀁺 IAR CLIB庫是一種輕型庫,并不完全與ISO/ANSI C 兼容。同時,它也不支持IEEE 745格式或者C+格式?,F(xiàn)在有幾種模式來定制運行環(huán)境和運行庫。 就這兩種運行庫而言,庫的源代碼已經(jīng)包含在其中了。文檔 AVR

25、IAR C/C+編譯器在AVR ® IAR C/C+ 編譯器參考手冊里有詳細介紹。1.1.5 IAR匯編器AVR IAR 匯編器同其他的IAR系統(tǒng)軟件集成。它是一個強大的重定位宏匯編器(支持Intel/Motorola格式),并且含有多種指示符和表達式。它具備一個內(nèi)部C語言預處理器,因而支持條件匯編。AVR IAR匯編器使用與Atmel®公司AVR匯編器相同的存貯機制和操作語法,從而簡化了對已有代碼的移植過程。關于詳細信息,請參見匯編器AVR® IAR匯編器參考手冊。特性 AVR IAR 匯編器具備以下特性: 􀁺 C預處理器; 􀁺

26、; 擴展的交叉調(diào)用輸出的列表文件; 􀁺 由可用存貯器大小決定參數(shù)個數(shù)和程序大??; 􀁺 支持外部調(diào)用的復雜表達式; 􀁺 每個模塊有多達65536個可重定位段; 􀁺 在參數(shù)表中有255個重要參數(shù)。文檔 AVR IAR匯編器在AVR®IAR 匯編器參考手冊里有詳細介紹。 1.1.6 IAR XLINK連接器IAR XLINK 連接器連接一個或多個由AVR IAR 匯編器或者AVR IAR C/C+編譯器產(chǎn)生的可重定位的目標文件,并生成AVR 處理器所需的機器代碼。它在連接小的單個文件、完全匯編程序時同連接大的、可重定位

27、的、多模塊的C/C+或混合C/C+以及匯編程序時一樣快捷便利。它可以識別超過30種的工業(yè)標準的代碼,另外還包括IAR C-SPY調(diào)試器所使用的IAR系統(tǒng)調(diào)試格式UBROF(通用的二進制可重定位目標文件格式)。一個應用程序可由任意多個UBROF可重定位文件構成,并且可以和匯編器以及C或C+程序合成。IAR XLINK 連接器最終輸出結果是一個完整的、可執(zhí)行的目標文件,并可以下載到AVR的處理器中或到一個硬件仿真器中。當然,輸出文件是否包含調(diào)試信息取決于用戶所選擇的輸出格式。IAR XLINK 連接器支持用戶定義庫,并只下載那些在連接應用程序時所需的模塊。在連接前,IAR XLINK 連接器將對所

28、有的模塊進行C語言級的類型檢查,并對所有輸入文件中的所有參數(shù)進行完全的可靠性檢查。它還對所有的模塊進行統(tǒng)一的編譯器設置檢查,從而確保使用C或C+運行庫的正確類型和參數(shù)。特性 􀁺 完全的內(nèi)部模塊類型檢查; 􀁺 簡易的庫模塊的覆蓋; 􀁺 靈活的段命令可以更細致地掌控代碼和數(shù)據(jù)的定位; 􀁺 連接符的定義使對配置的控制更加自如; 􀁺 可選的代碼檢測功能對運行監(jiān)測; 􀁺 去除無用代碼和數(shù)據(jù)。 文檔 IAR XLINK 連接器在IAR Linker和庫工具參考手冊中有詳細介紹。1.1.7 IAR X

29、AR Library Builder庫創(chuàng)建器和IAR XLIB Librarian庫管理器一個庫是包含一系列可重定位目標模塊的單個文件,每個模塊都按需要加載到文件中,互相獨立。IAR XAR Library Builder庫創(chuàng)建器幫助用戶輕松地創(chuàng)建庫。此外,IAR XLIB Librarian庫管理器使用戶可以對IAR系統(tǒng)匯編器和編譯器產(chǎn)生的可重定位目標庫文件進行操作。一個庫文件與任何由匯編器或編譯器生成的可重定位目標文件并沒有區(qū)別,除非它包含了“LIBRARY”類型的模塊。所有的C或C+程序都使用庫,同時AVR IARC/C+編譯器則使用一些標準的庫文件。特性 IAR XAR Library

30、 Builder庫創(chuàng)建器和IAR XLIB Librarian庫管理器均具備以下特性:􀁺 其模塊可以嵌入一個庫文件中; 􀁺 交互式或者批量式操作。 IAR XLIB Librarian庫管理器還具備以下特點: 􀁺 其模塊可以列出、添加、插入、更換或移除; 􀁺 其模塊可以在程序和庫類型間變更; 􀁺 字段可以列出; 􀁺 字符可以列出。 文檔 IAR XAR Library Builder庫創(chuàng)建器和IAR XLIB Librarian庫管理器在IAR 連接器和庫工具參考手冊中有詳細介紹。另外,

31、在嵌入式IAR Embedded Workbench 的幫助菜單中還有一份PDF格式的文檔供查詢。1.2已安裝文件本章介紹了安裝過程中創(chuàng)建了哪些目錄以及使用了哪些文件類型。在本章末尾,介紹了在不同版本的手冊和在線文檔中可以找到的信息。參考產(chǎn)品附帶的“快速入門”和“安裝和注冊手冊”,可以查到關于系統(tǒng)要求以及如何安裝及注冊IAR系統(tǒng)產(chǎn)品的信息。1.2.1目錄結構安裝過程中創(chuàng)建了幾個目錄,用來放置IAR系統(tǒng)開發(fā)工具所使用的不同類型的文件。下面就詳細講解每個目錄下默認的文件。根目錄 在安裝過程中創(chuàng)建的默認根目錄為:x:Program FilesIAR SystemsEmbedded Workbench

32、 4.n, x是指Microsoft Windows 的安裝目錄,而4.n是嵌入式IAR Embedded Workbench IDE的版本號。 11 注意:安裝路徑可與上圖設置不同,這取決于先前安裝的IAR產(chǎn)品以及用戶個人的喜好。AVR 目錄 Avr目錄包含所有特定產(chǎn)品的相關子目錄。Avrbin目錄Avrbin子目錄包含特殊AVR插件的可執(zhí)行文件,比如AVR IAR C/C+編譯器,AVR IAR 匯編器和AVR IARC-SPY驅(qū)動。Avrconfig目錄Avrconfig子目錄包含用于配置開發(fā)環(huán)境和工程的文件,比如: 􀁺 連接器命令模板文件(*.xcl) ⣶

33、98; 特殊函數(shù)注冊描述文件(*.sfr) 􀁺 C-SPY 設備描述文件(*.ddf) 􀁺 語法著色配置文件(*.cfg) 􀁺 應用工程和庫工程文件的模板文件(*.ewp)以及它們相應的庫配置文件。Avrdoc目錄Avrdoc目錄包含AVR工具的最新信息的幫助文檔。我們建議用戶先讀一下這些文檔。該目錄下也包含了本手冊和AVR參考手冊的在線超文本(PDF格式)文件,還有在線幫助文件(CHM格式)。Avrinc目錄Avrinc子目錄包含內(nèi)部文件,比如標準C或C庫的頭文件。同樣,還有定義特定功能寄存器的特殊頭文件,而這些文件主要由編譯器和匯編器來

34、使用。Avr lib目錄Avr lib子目錄包含編譯器使用的預先創(chuàng)建的庫以及相應的庫配置文件。Avr src目錄Avr src 子目錄包含一些可配置庫功能的源文件以及一些應用程序代碼示例。此外還包含庫的源代碼。Avrtutor 目錄 Avrtutor 子目錄包含本文檔中的教程的相應文件。公共目錄 公共目錄包含所有嵌入式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)境中所保持的設置。Commondoc 目錄Commondoc 子目錄包含了所有嵌入式IAR Embedded Workbench產(chǎn)品的共享插件的最新信息的幫助文檔,例如連接器和庫工具。我們建議用戶先讀一下這些文檔。這個目錄還包括“IAR連接器和庫工具參考手冊”的PDF在線版文檔。Commonplugin目錄Commonpl

36、ugin子目錄包含可作為載入式插件模塊的插件的執(zhí)行文件與描述文件。Commonsrc 目錄Commonsrc 子目錄包含所有嵌入式IAR Embedded Workbench產(chǎn)品的共享插件的源文件,比如一個簡單的IAR XLINK 連接器的輸出格式文件“SIMPLE”。1.2.2文件類型IAR系統(tǒng)的開發(fā)工具的AVR版中使用下列默認的文件擴展名來確認IAR特定文件類型:當用戶需要確定一個文件名時,可以引用一個清楚的擴展名來覆蓋默認的文件擴展名。擴展名為ini和dni的文件是在運行嵌入式IAR Embedded Workbench 工具時同步生成的。這些文件包含關于用戶的工程配置及其他設置的信息,

37、然后被放到工程目錄下的settings子目錄里。注意:如果用戶是從命令行來運行工具,XLINK列表文件(映象)會采用默認的擴展名lst,這樣可能會覆蓋由編譯器所生成的擴展名。因此我們簡易用戶將XLINK的映象文件完整地定義出來,比如project1.map。1.2.3文檔這部分簡要介紹了在AVR用戶手冊和參考手冊中地信息,以及一些在線幫助。用戶可以在嵌入式IAR Embedded Workbench中的help菜單里訪問AVR的在線文檔?;蚴前碏1,在IAR EmbeddedWorkbench IDE中獲取幫助。我們建議用戶讀一下readme.htm文件以獲得最新的信息,而用戶手冊里有可能沒有

38、這些信息。它放在AVRdoc目錄下。用戶和參考手冊 嵌入式IAR Embedded Workbench提供以下的用戶和參考手冊: AVR® IAR Embedded Workbench® IDE用戶手冊即本文檔。 AVR® IAR C/C+編譯器參考手冊這本手冊提供關于AVR IAR C/C+編譯器的相關信息。用戶可以通過它查看到: 􀁺 如何配置編譯器以適應用戶的目標處理器,并達到應用程序要求; 􀁺 如何為用戶的目標處理器寫高效代碼; 􀁺 匯編語言接口和調(diào)用規(guī)則; 􀁺 可用數(shù)據(jù)類型;

39、48698; 運行庫; 􀁺 IAR語言擴展。AVR® IAR的匯編器參考手冊該手冊介紹了AVR IAR匯編器的相關信息,包括匯編器源代碼格式的細節(jié)信息以及操作、指示符、存貯和診斷。IAR連接器和庫工具參考手冊這篇在線的PDF文檔提供關于IAR連接器和庫工具的相關信息: 􀁺 IAR XLINK連接器部分介紹了XLINK選項,輸出格式,環(huán)境變量和診斷工具; 􀁺 IAR XAR Library Buillder 庫創(chuàng)建器部分則介紹了XAR選項和輸出; 􀁺 IAR XLIB Librarian 庫管理器部分介紹了關于XL

40、IB命令,環(huán)境變量和診斷工具。DLIB庫參考信息該在線文檔,格式為HTML,提供了IAR DLIB庫函數(shù)的參考信息。在AVR® IAR Embedded Workbench® IDE在線幫助系統(tǒng)中,含有該文檔。CLIB 庫參考手冊 PDF格式的在線手冊包含IAR CLIB庫的參考信息。在AVR® IAR EmbeddedWorkbench® IDE在線幫助系統(tǒng)中,含有該文檔。在線幫助 互動的在線幫助提供關于嵌入式的IAR Workbench IDE的菜單和對話框的參考信息。還有關于DLIB函數(shù)的關鍵信息。如果需要查看關于某一函數(shù)的相關信息,在編輯器窗口中

41、選擇該函數(shù),然后按F1即可。注意:使用CLIB庫的過程中,如果用戶在編輯器窗口中選擇一個函數(shù)名稱,然后按下F1鍵,將會獲取CLIB庫的參考信息。IAR網(wǎng)站在 上能找到最新的關于IAR系統(tǒng)的信息,在嵌入式的IAR Workbench IDE的Help菜單中也能訪問到。瀏覽該網(wǎng)站,可以看到: 􀁺 產(chǎn)品發(fā)布信息; 􀁺 當前版本的最新更新; 􀁺 特殊服務; 􀁺 IAR產(chǎn)品的評估版拷貝; 􀁺 技術支持,包括技術文檔; 􀁺 應用要點說明; 􀁺 鏈接到芯片供應商和其他相關站點; &#

42、1048698; 各國供應商的姓名,地址信息。 第二部分教程AVR® IAR Embedded Workbench® IDE用戶手冊的這部分包括以下章節(jié): 􀁺 創(chuàng)建一個應用工程; 􀁺 使用IAR C-SPY調(diào)試器進行調(diào)試; 􀁺 C與匯編語言模塊混合; 􀁺 使用C+; 􀁺 模擬一個中斷; 􀁺 使用庫模塊; 2.1創(chuàng)建一個應用工程這一章將向用戶介紹IAR EmbeddedWorkbench的集成開發(fā)環(huán)境。 這個教程展示了一個典型的開發(fā)流程,并且教用戶如何使用編譯器和連接器

43、來創(chuàng)建一個適用于AVR芯片的小型應用程序。比如,創(chuàng)建一個工作區(qū),以C語言代碼創(chuàng)建一個工程,并編譯、連接這個應用程序。 開發(fā)過程在下章中繼續(xù)講解,請參見第37頁,“使用IAR C-SPY調(diào)試器進行調(diào)試”。 2.1.1創(chuàng)建一個新工程使用IAR Embedded Workbench IDE,用戶可以設計高級的工程模型。用戶可以建立一個工作區(qū),以創(chuàng)建一個或多個工程。并且已經(jīng)有現(xiàn)成的工程模板用以開發(fā)應用工程和庫。每個工程都可以建立以組為級別的結構,而在其中用戶可以合理放置用戶的源文件。每個工程用戶都可以定義一個或多個build配置。如想了解更多關于工程模塊的信息,請參看“工程管理”一章。因為本教程中的程

44、序都是含有很少文件的簡單程序,所以沒有使用高級工程模型。 我們建議用戶創(chuàng)建一個特定目錄,用來存放工程文件。在教程中,我們稱這個目錄為“projects”。 用戶可以在AVRtutor目錄下找到在教程中所需的文件。 在創(chuàng)建工程前,應先創(chuàng)建一個工作區(qū)。創(chuàng)建一個工作區(qū)窗口 在教程程序中,第一步應先創(chuàng)建一個新的工作區(qū)。當用戶第一次打開IAR Embedded Workbench時,應該已經(jīng)有一個建好的工作區(qū),在其中可以使用教程程序。如果用戶是使用那個工作區(qū)的話,就可以忽略第一步。選擇File>New>Workspace?,F(xiàn)在用戶已經(jīng)做好了準備,來創(chuàng)建一個工程,并且將它放入工作區(qū)。創(chuàng)建新工程

45、1.創(chuàng)建一個新工程,選擇Project->Create New Project。彈出Create New Project對話框,可以讓用戶按照模板創(chuàng)建新工程。 在教程中,選擇程序模板Empty project,可以快速創(chuàng)建一個采用默認設置的空白工程。 2.確認Tool chain選項已經(jīng)設置為AVR,然后點擊OK。 3.彈出一個標準的Save As 對話框,確認用戶想放置工程文件的地方,即新創(chuàng)建的projects目錄。在File name對話框中鍵入project1,然后點擊Save,從而創(chuàng)建新工程。 這個工程就出現(xiàn)在工作區(qū)窗口中了。默認狀態(tài)下,系統(tǒng)產(chǎn)生兩個創(chuàng)建配置:調(diào)試和發(fā)布。在教程中

46、,只使用Debug。在窗口頂部的下拉菜單中,用戶可以選擇build配置選項。項目名稱中的星號指的是修改還沒有保存。 一個工程文件,其文件擴展名為ewp,已經(jīng)創(chuàng)建在project目錄下了。這個文件包含用戶的工程的特殊設定,例如build選項。 4.在用戶向工程中添加任何文件時,應該先保存工作區(qū)。選擇File>Save Workspace,并且說明工作區(qū)文件的存放路徑。在本教程中,用戶還可以將它放到新建立的projects目錄下。 在File name對話框中鍵入tutorials,點擊Save來創(chuàng)建新的工作區(qū)。一個工作區(qū)文件其文件擴展名為eww已經(jīng)創(chuàng)建在projects目錄下了。這個文件列

47、出了所有用戶想加入這個工作區(qū)的工程。與之相關的信息,例如窗口放置和斷點設置都放在projectssettings目錄下。添加文件到工程中 教程中使用源文件Tutor.c 和Utilities.c。􀁺 Tutor.c程序是只用標準C語言編寫的簡單程序。它計算出Fibonacci數(shù)列的前十個數(shù),并把結果顯示在stdout上; 􀁺 Utilities.c程序包含了Fibonacci數(shù)列的相應算法。創(chuàng)建幾個組可以使用戶根據(jù)工程需要來合理、有效地管理源文件。但是,現(xiàn)在這個工程中只含有兩個文件,所以沒有必要建一個組。如想了解更多關于創(chuàng)建復雜工程結構的信息,請查閱“工程管

48、理”一章。1.在工作區(qū)窗口中,選擇用戶想放置源文件的目標地址、或者一個組,在這種情況下,就直接指向工程。2.選擇Project>Add Files,打開一個標準的瀏覽對話框。轉(zhuǎn)到Tutor.c 和Utilities.c所在位置,將它們選中,然后點擊Open將它們加入到工程Project1中。 20 設置工程選項接下來要設置工程選項。對于應用工程,可以在所有節(jié)點上設置這些選項。在該教程中,首先要設置基本選項來適應處理器的配置。因為這些設置在整個build配置中必須一致,它們將被設置到工程節(jié)點上。1. 在工作區(qū)窗口中選擇工程文件夾project1->Debug,然后選擇Project-

49、>Options選項。General 選項中的Target 選項頁被顯示出來。確認下列設置: 接著要設定該工程的編譯器選項 2.在Category列表中,選擇C/C+ Compiler 顯示編譯器選項頁。 3確認下列設定4.擊OK確認用戶的設置注意:在Build消息窗口中顯示的信息可以進行自定義設置。在本教程中,沒有使用默認設置。因此,Build消息窗口的內(nèi)容可能不同于上述屏幕內(nèi)容?,F(xiàn)在可以開始創(chuàng)建工程了。 2.1.2應用程序編譯和連接至此,用戶可以開始編譯和連接應用程序。當然用戶應該創(chuàng)建一個編譯器列表文件和一個連接庫文件,并查看它們的內(nèi)容。編譯源文件1. 編譯Utilities.c文件

50、,在工作區(qū)窗口中選中它。2. 選擇Project->Complie 同樣的,用戶也可以點擊工具欄上的Compile按鈕或是在工作區(qū)的選擇文件處點擊右鍵彈出菜單的Compile命令。其進程將顯示在Build 消息框中。圖8 編譯消息 3. 按照同樣方式編譯Tutor.c 文件。 IAR Embedded Workbench 在用戶的工程目錄下已經(jīng)創(chuàng)建了新的目錄。因為用戶正使用build配置命令Debug,所以一個Debug目錄已經(jīng)創(chuàng)建,并且?guī)в衛(wèi)ist,obj和exe目錄: 􀁺 List目錄用來放置list文件。同時list文件擴展名為lst; 􀁺 Ob

51、j目錄用來放置由編譯器和匯編器產(chǎn)生的目標文件。這些文件的擴展名為r90,并用來作為IAR XLINK Linker的輸入; 􀁺 Exe目錄用來放置可執(zhí)行文件。其擴展名為d90,并用來作為IAR C-SPY調(diào)試器的輸入。注意,除非用戶已連接了object文件,否則此目錄為空。點擊工作區(qū)窗口中目錄樹節(jié)點上的加號,使視圖擴展開。用戶可以看到,IAR Embedded Workbench已經(jīng)在包含輸出文件的工作區(qū)窗口中創(chuàng)建了一個輸出文件夾。此外,還根據(jù)文件間依賴關系顯示了內(nèi)部所有的頭文件。查看列表文件 現(xiàn)在需要檢查編譯器的列表文件,并請注意當用戶檢查對生成代碼大小的不同優(yōu)化程度時,它

52、是如何進行自動更新的。1. 在工作區(qū)窗口中雙擊Utilities.lst,打開文件。檢查該文件的下列信息: 􀁺 header部分顯示產(chǎn)品版本,文件創(chuàng)建時間以及曾經(jīng)使用的編譯器的命令行版本; 􀁺 body部分顯示匯編代碼和每個語句的二進制代碼。還有分配給不同段的相關變量; 􀁺 end部分顯示堆棧大小,代碼以及數(shù)據(jù)所需存貯器空間,還有可能產(chǎn)生的錯誤或警告信息。注意在文件末端顯示的生成代碼大小信息,并將文件一直打開。 2.選擇Tools->Options,打開IDE Options 對話框,點擊Editor欄。然后選擇Scan for Ch

53、anged Files。此項功能將對編輯窗口中的文件實行自動更新,比如一個列表文件。點擊OK按鈕。3. 在工作區(qū)窗口中選擇Utilities.c文件。在工作區(qū)窗口內(nèi)的所選文件上右擊鼠標,打開C/C+ 編譯器選項對話框。點擊Code(代碼)欄,選擇Override inherited settings(繼承覆蓋選項)。接著在Optimizations(優(yōu)化)下拉菜單中選擇High選項。點擊OK。注意在文件節(jié)點處的override(覆蓋)選項是指位于工作區(qū)窗口內(nèi)的。4. 對Utilities.c進行編譯。用戶需要注意兩件事情。第一,打開的列表文件的自動更新取決于Scan for Changed F

54、iles選項。第二,觀察列表文件的末尾,注意代碼大小受不斷優(yōu)化的效果。5. 在教程中,使用的優(yōu)化程度為“None”,因此在連接應用程序之前,要先恢復為默認的優(yōu)化程度。在工作區(qū)窗口內(nèi)的所選文件上右擊鼠標,打開C/C+ 編譯器選項對話框。不選擇Override inherited settings(繼承覆蓋選項),然后點擊OK。重編譯Utilities.c文件。連接應用程序 現(xiàn)在用戶應該設置IAR XLINK LinkerTM的選項。1. 在工作區(qū)窗口中選擇工程文件夾project1->Debug,然后選擇Project->Options選項。接著在Category列表中選擇Linke

55、r,打開XLINK選項頁。 對于該教程,使用出廠的默認設置。對于連接器指令文件和輸出格式的選擇是很重要的。 輸出格式 選擇合適的輸出格式非常重要。也許用戶想將它加載到調(diào)試器中即需要在輸出中顯示調(diào)試信息。在本教程中,用戶會用到C-SPY Debug information,選擇With I/O 仿真模塊選項,意味著一些低級別的進程會被連接,即在C-SPY調(diào)試器中把stdin和stdout直接導入到終端I/O窗口中。用戶可以在Output頁看到這些選項。或者,用戶想將輸出結果加載到一個PROM編程器中,此時就不需要在輸出中顯示調(diào)試信息,比如用Intel-hex 或Motorola S-record

56、s。連接器命令文件 在連接命令文件中,用XLINK命令行選項控制段的放置。熟悉連接器命令文件和段的放置方法是很重要的。在AVR® IAR C/C+編譯器參考手冊中,含有更詳細的信息。產(chǎn)品提供的連接命令模板可用在仿真器中,但當用于實際目標系統(tǒng)時,就必須根據(jù)實際的硬件存儲情況來調(diào)整其設置。用戶可以在config目錄下找到系統(tǒng)提供的連接器指令文件。該教程中,用戶可以使用默認的連接器命令文件,該文件可以在Config頁中看到。如果用戶想檢驗連接命令文件,可以使用一個合適的文本編輯器,比如嵌入式IAREmbedded Workbench編輯器,或者打印一份該文件的拷貝,然后驗證其定義是否符合用

57、戶的要求。2. 點擊OK,保存XLINK的設置。現(xiàn)在用戶應該連接目標文件了,接著生成可調(diào)試的代碼。 3. 選擇Project->Make。其進程在Build消息窗口中顯示。連接的結果是得到一個含有調(diào)試信息的代碼文件project1.d90以及一個映象文件project1.map。查看映象文件 檢查project1.map文件,觀察段是如何定義以及代碼是怎樣放置在存貯器中的。一個映象文件主要包含以下幾點信息: 􀁺 header包含連接選項; 􀁺 CROSS REFERENCE段顯示程序開始段的地址; 􀁺 RUNTIME MODEL段顯示

58、運行模式的相關屬性; 􀁺 MODULE MAP顯示被連接的文件。對每個文件而言,模塊信息都作為程序的一部分被加載和顯示,包括段標號和各段中定義的全址標號。􀁺 SEGMENTS IN ADDRESS ORDER 部分列出了所有構成用戶的程序的段。至此,project1.d90程序已經(jīng)可以在IAR C-SPY調(diào)試器中運行了。2.2使用IAR C-SPYDebugger進行調(diào)試這一章繼續(xù)上章開始的開發(fā)過程,并講解IAR C-SPY Debugger的基本特點。注意,IAR C-SPY Debugger安裝與否,取決于用戶所安裝的IAR產(chǎn)品的版本。本教程假設用戶正使

59、用的是C-SPY軟仿真器。程序調(diào)試 在上章中創(chuàng)建的project1.d90程序,現(xiàn)在可以在IAR C-SPY Debugger上運行了。用戶可以監(jiān)控變量,設置斷點,反匯編查看源代碼,控制寄存器和存貯器,以及在終端I/O窗口中查看程序輸出結果。啟動調(diào)試器 在啟動IAR C-SPY Debugger之前,用戶必須設定C-SPY的幾個相關選項。1. 選擇Project->Options,然后選擇Debugger列表。在Setup頁,確認在Driver下拉菜單中選擇了Simulator選項,接著選擇Run to main。點擊OK。2 選擇Project->Debug。或者點擊位于工具欄上

60、的Debugger按鈕。從而啟動IAR C-SPY Debugger,并加載了project1.d90應用程序。除了在嵌入式Workbench中已經(jīng)打開的窗口,還有一系列C-SPY的特殊窗口。窗口管理在IAR Embedded Workbench中,用戶可以在特定位置??看翱?,并利用標簽組來管理它們。用戶也可以使某個窗口處于“懸浮”狀態(tài),即讓它始終處于其他窗口的上層。如果用戶改變了“懸浮窗口”的大小和位置,其他窗口不受影響。狀態(tài)欄,位于嵌入式Workbench的主窗口的底部,包含了如何管理窗口的幫助信息。對于更為詳細的信息,請參考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 命令。 或者點擊

溫馨提示

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

評論

0/150

提交評論