




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1AVR單片機系統(tǒng)設(shè)計與開發(fā)工具單片機系統(tǒng)設(shè)計與開發(fā)工具2AVR單片機系統(tǒng)設(shè)計與開發(fā)工具單片機系統(tǒng)設(shè)計與開發(fā)工具 本章將在介紹單片機嵌入式系統(tǒng)設(shè)計開發(fā)基礎(chǔ)知識之后,本章將在介紹單片機嵌入式系統(tǒng)設(shè)計開發(fā)基礎(chǔ)知識之后,重點介紹和講述本書推薦和使用的一套采用重點介紹和講述本書推薦和使用的一套采用ATMEL公司的公司的AVR Studio配合配合C高級語言的軟件開發(fā)平臺高級語言的軟件開發(fā)平臺-ICC AVR所所構(gòu)成的開發(fā)軟件環(huán)境,構(gòu)成的開發(fā)軟件環(huán)境,3單片機嵌入式系統(tǒng)開發(fā)過程單片機嵌入式系統(tǒng)開發(fā)過程 1.確定系統(tǒng)設(shè)計的任務(wù)確定系統(tǒng)設(shè)計的任務(wù) 要充分了解對系統(tǒng)的技術(shù)要求、使用的環(huán)境狀況以及使用要充分了解
2、對系統(tǒng)的技術(shù)要求、使用的環(huán)境狀況以及使用人員的技術(shù)水平。明確任務(wù),確定系統(tǒng)的技術(shù)指標,包括系統(tǒng)人員的技術(shù)水平。明確任務(wù),確定系統(tǒng)的技術(shù)指標,包括系統(tǒng)必須具有那些功能等。必須具有那些功能等。2. 系統(tǒng)方案設(shè)計系統(tǒng)方案設(shè)計單片機芯片的選擇。單片機芯片的選擇。外圍電路芯片和器件的選擇。外圍電路芯片和器件的選擇。綜合考慮軟、硬件的分工與配合。綜合考慮軟、硬件的分工與配合。 3. 硬件系統(tǒng)設(shè)計硬件系統(tǒng)設(shè)計4. 系統(tǒng)軟件設(shè)計編寫系統(tǒng)軟件設(shè)計編寫5. 系統(tǒng)調(diào)試系統(tǒng)調(diào)試 4 通常在編制程序前應(yīng)對系統(tǒng)要實現(xiàn)的功能、硬件系統(tǒng)的通常在編制程序前應(yīng)對系統(tǒng)要實現(xiàn)的功能、硬件系統(tǒng)的結(jié)構(gòu)和電路、系統(tǒng)中使用的單片機和外圍器件
3、進行全面仔細和結(jié)構(gòu)和電路、系統(tǒng)中使用的單片機和外圍器件進行全面仔細和深入的了解,對系統(tǒng)軟件的結(jié)構(gòu)進行全面和完整的設(shè)計,編制深入的了解,對系統(tǒng)軟件的結(jié)構(gòu)進行全面和完整的設(shè)計,編制程序流程圖。系統(tǒng)程序的設(shè)計應(yīng)實現(xiàn)結(jié)構(gòu)化、模塊化、子程序程序流程圖。系統(tǒng)程序的設(shè)計應(yīng)實現(xiàn)結(jié)構(gòu)化、模塊化、子程序化,這不僅便于調(diào)試,還便于修改?;?,這不僅便于調(diào)試,還便于修改。 要特別注意的是,設(shè)計編寫嵌入式系統(tǒng)的軟件同編寫其要特別注意的是,設(shè)計編寫嵌入式系統(tǒng)的軟件同編寫其它類型的軟件程序有較大的區(qū)別。由于嵌入式系統(tǒng)是直接面對它類型的軟件程序有較大的區(qū)別。由于嵌入式系統(tǒng)是直接面對硬件、控制對象的,因此,設(shè)計編寫嵌入式系統(tǒng)的程
4、序需要考硬件、控制對象的,因此,設(shè)計編寫嵌入式系統(tǒng)的程序需要考慮更多的硬件細節(jié),要掌握和使用很多軟件技巧,要多學(xué)習(xí)、慮更多的硬件細節(jié),要掌握和使用很多軟件技巧,要多學(xué)習(xí)、多實踐。如,嵌入式系統(tǒng)程序的設(shè)計要仔細地考慮和劃分程序多實踐。如,嵌入式系統(tǒng)程序的設(shè)計要仔細地考慮和劃分程序存儲器、數(shù)據(jù)存儲器;合理定義、安排和使用各種變量;盡量存儲器、數(shù)據(jù)存儲器;合理定義、安排和使用各種變量;盡量使用字節(jié)變量和位標志變量,優(yōu)化程序,節(jié)省內(nèi)存容量;估算使用字節(jié)變量和位標志變量,優(yōu)化程序,節(jié)省內(nèi)存容量;估算子程序調(diào)用和嵌套的最大級數(shù),預(yù)留出足夠的堆棧的空間等等。子程序調(diào)用和嵌套的最大級數(shù),預(yù)留出足夠的堆棧的空間
5、等等。5單片嵌入式系統(tǒng)的開發(fā)工具與環(huán)境單片嵌入式系統(tǒng)的開發(fā)工具與環(huán)境 一、單片嵌入式系統(tǒng)的程序設(shè)計語言一、單片嵌入式系統(tǒng)的程序設(shè)計語言單片機嵌入式系統(tǒng)所用的程序設(shè)計語言可分為三類:單片機嵌入式系統(tǒng)所用的程序設(shè)計語言可分為三類: 機器語言、匯編語言和高級語言機器語言、匯編語言和高級語言。機器語言機器語言機器語言是完全面向芯片的語言,由二進制碼機器語言是完全面向芯片的語言,由二進制碼“0”和和“1”組成。組成。 二進制代碼文件(二進制代碼文件(.bin或或.hex) .匯編語言匯編語言 匯編語言是一種符號化的語言,它使用一些方便記憶特定的匯編語言是一種符號化的語言,它使用一些方便記憶特定的助記符(
6、特定的英文字符)來代替機器指令。助記符(特定的英文字符)來代替機器指令。 采用匯編語言開發(fā)系統(tǒng)程序的優(yōu)點:采用匯編語言開發(fā)系統(tǒng)程序的優(yōu)點:能夠全面和深入的理解能夠全面和深入的理解單片機硬件的功能,充分發(fā)揮單片機的硬件特性。匯編語言編寫單片機硬件的功能,充分發(fā)揮單片機的硬件特性。匯編語言編寫的程序可讀性、可移植性和結(jié)構(gòu)性都較差。采用匯編語言編開發(fā)的程序可讀性、可移植性和結(jié)構(gòu)性都較差。采用匯編語言編開發(fā)單片機應(yīng)用系統(tǒng)程序比較麻煩,調(diào)試和排錯也比較困難,產(chǎn)品開單片機應(yīng)用系統(tǒng)程序比較麻煩,調(diào)試和排錯也比較困難,產(chǎn)品開發(fā)周期長,同時要求軟件設(shè)計人員要具備相當高的能力和經(jīng)驗。發(fā)周期長,同時要求軟件設(shè)計人員
7、要具備相當高的能力和經(jīng)驗。 6.高級語言高級語言高級語言是一種高級語言是一種“基本基本”不依賴硬件的程序設(shè)計語言。不依賴硬件的程序設(shè)計語言。 由于高級語言具有面向問題或過程,其形式類似自然語言和由于高級語言具有面向問題或過程,其形式類似自然語言和數(shù)學(xué)公式,結(jié)構(gòu)性、可讀性、可移植好的特點,所以為了提高數(shù)學(xué)公式,結(jié)構(gòu)性、可讀性、可移植好的特點,所以為了提高編寫系統(tǒng)應(yīng)用程序的效率,改善程序的可讀性和可移植性,縮編寫系統(tǒng)應(yīng)用程序的效率,改善程序的可讀性和可移植性,縮短產(chǎn)品的開發(fā)周期,采用高級語言來開發(fā)單片機系統(tǒng)已成為當短產(chǎn)品的開發(fā)周期,采用高級語言來開發(fā)單片機系統(tǒng)已成為當前的發(fā)展趨勢。前的發(fā)展趨勢。7
8、 作為一個有經(jīng)驗的單片嵌入式系統(tǒng)開發(fā)人員,應(yīng)能同時作為一個有經(jīng)驗的單片嵌入式系統(tǒng)開發(fā)人員,應(yīng)能同時掌握和使用掌握和使用匯編語言和高級語言設(shè)計匯編語言和高級語言設(shè)計系統(tǒng)程序。系統(tǒng)程序。 概括起來說,基于高級語言開發(fā)單片機系統(tǒng)具有語言簡概括起來說,基于高級語言開發(fā)單片機系統(tǒng)具有語言簡潔,使用方便靈活,可移植性好,表達能力強,可進行結(jié)構(gòu)化程潔,使用方便靈活,可移植性好,表達能力強,可進行結(jié)構(gòu)化程序設(shè)計等優(yōu)點。對于開發(fā)大型和復(fù)雜的嵌入式系統(tǒng)來講,采用高序設(shè)計等優(yōu)點。對于開發(fā)大型和復(fù)雜的嵌入式系統(tǒng)來講,采用高級程序設(shè)計語言進行系統(tǒng)開發(fā)的效率比使用匯編語言高幾倍甚至級程序設(shè)計語言進行系統(tǒng)開發(fā)的效率比使用匯
9、編語言高幾倍甚至幾十倍。但對于小型、簡易的系統(tǒng),或幾十倍。但對于小型、簡易的系統(tǒng),或有定時精確,高測量精度有定時精確,高測量精度要求的系統(tǒng)要求的系統(tǒng),使用匯編語言則具有優(yōu)勢。在許多情況下,使用匯編語言則具有優(yōu)勢。在許多情況下,采用高采用高級語言嵌入?yún)R編程序的軟件設(shè)計技術(shù)往往是最有效的方法。級語言嵌入?yún)R編程序的軟件設(shè)計技術(shù)往往是最有效的方法。 如果你對單片機的內(nèi)部結(jié)構(gòu)和匯編語言根本不了解,請如果你對單片機的內(nèi)部結(jié)構(gòu)和匯編語言根本不了解,請先不要用先不要用C語言編程。語言編程。 如果你對單片機的內(nèi)部結(jié)構(gòu)和匯編語言根本不了解,也如果你對單片機的內(nèi)部結(jié)構(gòu)和匯編語言根本不了解,也寫不出好的單片機的寫不出
10、好的單片機的C程序。程序。8二二. 單片嵌入式系統(tǒng)的開發(fā)軟件平臺單片嵌入式系統(tǒng)的開發(fā)軟件平臺好的單片嵌入式系統(tǒng)的開發(fā)軟件通常具備以下幾個重要的功能:好的單片嵌入式系統(tǒng)的開發(fā)軟件通常具備以下幾個重要的功能:單片機系統(tǒng)程序編寫和運行代碼的生成。(編輯、編譯功能)單片機系統(tǒng)程序編寫和運行代碼的生成。(編輯、編譯功能) 嵌入式系統(tǒng)開發(fā)平臺支持用戶采用專用匯編程序設(shè)計語嵌入式系統(tǒng)開發(fā)平臺支持用戶采用專用匯編程序設(shè)計語言或高級程序設(shè)計語言(言或高級程序設(shè)計語言(C、Basic等)編寫嵌入式系統(tǒng)控制等)編寫嵌入式系統(tǒng)控制程序的源代碼,并將源代碼編譯連接生成可在單片機中執(zhí)行程序的源代碼,并將源代碼編譯連接生成
11、可在單片機中執(zhí)行的二進制代碼(的二進制代碼(Hex、Bin)。)。 軟件模擬仿真軟件模擬仿真 提供一個純軟件的仿真環(huán)境,在此環(huán)境的支持下提供一個純軟件的仿真環(huán)境,在此環(huán)境的支持下,單片機的系統(tǒng)程單片機的系統(tǒng)程序可以進行模擬的運行序可以進行模擬的運行,以實現(xiàn)第一步的軟件調(diào)試和排錯功能。以實現(xiàn)第一步的軟件調(diào)試和排錯功能。 在線仿真功能在線仿真功能 與專用的仿真器配合與專用的仿真器配合,提供一個硬件在線的實時仿真調(diào)試環(huán)境。提供一個硬件在線的實時仿真調(diào)試環(huán)境。用戶將編寫好的目標系統(tǒng)運行代碼下載到仿真器中,通過開發(fā)系用戶將編寫好的目標系統(tǒng)運行代碼下載到仿真器中,通過開發(fā)系統(tǒng)軟件控制仿真器中程序的運行統(tǒng)軟
12、件控制仿真器中程序的運行,同時觀察硬件系統(tǒng)的運行結(jié)果同時觀察硬件系統(tǒng)的運行結(jié)果,分分析、調(diào)試和排除系統(tǒng)中存在的問題。析、調(diào)試和排除系統(tǒng)中存在的問題。9程序下載燒入功能程序下載燒入功能 與專用的編程器配合或使用與專用的編程器配合或使用ISP技術(shù),將二進制運行代碼技術(shù),將二進制運行代碼寫入到單片機的程序存儲器中寫入到單片機的程序存儲器中 10單片嵌入式系統(tǒng)的硬件開發(fā)工具單片嵌入式系統(tǒng)的硬件開發(fā)工具 單片機來設(shè)計開發(fā)嵌入式系統(tǒng)的過程中,應(yīng)配備兩種硬件設(shè)備:單片機來設(shè)計開發(fā)嵌入式系統(tǒng)的過程中,應(yīng)配備兩種硬件設(shè)備: 仿真器仿真器是用于對所設(shè)計嵌入式系統(tǒng)的硬軟件進行調(diào)試的工具。是用于對所設(shè)計嵌入式系統(tǒng)的硬
13、軟件進行調(diào)試的工具。 編程燒入器編程燒入器的作用則是將系統(tǒng)執(zhí)行代碼寫入到目標系統(tǒng)中。的作用則是將系統(tǒng)執(zhí)行代碼寫入到目標系統(tǒng)中。 調(diào)試(調(diào)試(Debug)是系統(tǒng)開發(fā)過程中必不可少的環(huán)節(jié))是系統(tǒng)開發(fā)過程中必不可少的環(huán)節(jié)。 在嵌入式系統(tǒng)開發(fā)過程中,經(jīng)常采用的調(diào)試方法有三種方式:在嵌入式系統(tǒng)開發(fā)過程中,經(jīng)常采用的調(diào)試方法有三種方式: 軟件模擬仿真調(diào)試(軟件模擬仿真調(diào)試(Simulator)實時在板仿真調(diào)試(實時在板仿真調(diào)試(On Board Debug)實時在片仿真調(diào)試(實時在片仿真調(diào)試(On Chip Debug) 11軟件仿真器軟件仿真器軟件仿真器也稱為指令集模擬器(軟件仿真器也稱為指令集模擬器(
14、ISS),其原理是用軟件來),其原理是用軟件來模擬模擬CPU處理器硬件的執(zhí)行過程,包括指令系統(tǒng)、中斷、定時計處理器硬件的執(zhí)行過程,包括指令系統(tǒng)、中斷、定時計數(shù)器、外部接口等等數(shù)器、外部接口等等。軟件仿真器的優(yōu)點:軟件仿真器的優(yōu)點:是它可使嵌入式系統(tǒng)的軟件和硬件是它可使嵌入式系統(tǒng)的軟件和硬件開發(fā)并行開展。只要硬件設(shè)計工作完成后,不管硬件實體如何,開發(fā)并行開展。只要硬件設(shè)計工作完成后,不管硬件實體如何,就可以進行軟件程序的編寫和調(diào)試了。應(yīng)用程序在結(jié)構(gòu)上、邏輯就可以進行軟件程序的編寫和調(diào)試了。應(yīng)用程序在結(jié)構(gòu)上、邏輯上的錯誤能夠利用軟件仿真器很快的發(fā)現(xiàn)和定位。有些與硬件相上的錯誤能夠利用軟件仿真器很快
15、的發(fā)現(xiàn)和定位。有些與硬件相關(guān)的故障和錯誤也能在軟件仿真器中被發(fā)現(xiàn)。使用軟件仿真器不關(guān)的故障和錯誤也能在軟件仿真器中被發(fā)現(xiàn)。使用軟件仿真器不僅可以縮短產(chǎn)品開發(fā)周期,而且非常經(jīng)濟,不需要購買昂貴的實僅可以縮短產(chǎn)品開發(fā)周期,而且非常經(jīng)濟,不需要購買昂貴的實時仿真設(shè)備。時仿真設(shè)備。12使用軟件仿真器的缺點使用軟件仿真器的缺點:其模擬的運行速度比真正的硬件慢的:其模擬的運行速度比真正的硬件慢的多,一般要慢多,一般要慢10100倍。另外軟件仿真器只能模擬仿真軟件的倍。另外軟件仿真器只能模擬仿真軟件的正確性,仿真與時序有關(guān),查找同硬件有關(guān)的錯誤比較困難。正確性,仿真與時序有關(guān),查找同硬件有關(guān)的錯誤比較困難。
16、AVR Studio中就包含一個功能非常強大的軟件仿真器。中就包含一個功能非常強大的軟件仿真器。能夠?qū)崿F(xiàn)匯編級和高級語言級的軟仿真功能。能夠?qū)崿F(xiàn)匯編級和高級語言級的軟仿真功能。 一些針對一些針對AVR開發(fā)的平臺,如開發(fā)的平臺,如IAR、BASCOM中也都中也都包含自己的軟件仿真器。包含自己的軟件仿真器。 BASCOM的軟件仿真器提供了模擬實物圖形化界面,將的軟件仿真器提供了模擬實物圖形化界面,將一些標準化的外圍器件如字符一些標準化的外圍器件如字符LCD模塊、鍵盤模塊等作為實物模塊、鍵盤模塊等作為實物顯示在屏幕上,用戶能夠更加直觀的看到系統(tǒng)運行的結(jié)果,使顯示在屏幕上,用戶能夠更加直觀的看到系統(tǒng)運
17、行的結(jié)果,使用非常方便。用非常方便。 13. 實時在板仿真器(實時在板仿真器(ICE) 實時在板仿真器通常稱為在線仿真實時在板仿真器通常稱為在線仿真ICE(In Circuit Emulate),它是最早用于開發(fā)嵌入式系統(tǒng)的工具。),它是最早用于開發(fā)嵌入式系統(tǒng)的工具。ICE是實際是實際是一個特殊的嵌入式系統(tǒng),一般是由專業(yè)公司研制和生產(chǎn)。它是一個特殊的嵌入式系統(tǒng),一般是由專業(yè)公司研制和生產(chǎn)。它的內(nèi)部含有一個具有的內(nèi)部含有一個具有“透明性透明性”和和“可控性可控性”的的MCU,可以代,可以代替被開發(fā)系統(tǒng)(目標系統(tǒng))中的替被開發(fā)系統(tǒng)(目標系統(tǒng))中的MCU工作,既用工作,既用ICE的資源來的資源來仿真
18、目標機。因此,仿真目標機。因此,ICE實際上是內(nèi)部電路仿真器,它是一個相實際上是內(nèi)部電路仿真器,它是一個相對昂貴的設(shè)備,用于代替微處理器,并植入微處理器與總線之對昂貴的設(shè)備,用于代替微處理器,并植入微處理器與總線之間的電路中,允許使用者監(jiān)視和控制微處理器所有信號的進出。間的電路中,允許使用者監(jiān)視和控制微處理器所有信號的進出。因此,這種仿真方式和設(shè)備,更準確的講應(yīng)該稱為實時在板仿因此,這種仿真方式和設(shè)備,更準確的講應(yīng)該稱為實時在板仿真(真(On Board Debug)器。)器。14 ICE仿真器一般使用串行口(仿真器一般使用串行口(COM口或口或USB接口)或并行接口)或并行口(打印機口)同口
19、(打印機口)同PC機通信,并提供一個與目標機系統(tǒng)上的機通信,并提供一個與目標機系統(tǒng)上的MCU芯片引腳相同的插接口(仿真口)。使用時,將目標機上芯片引腳相同的插接口(仿真口)。使用時,將目標機上的的MCU取下,插上仿真器的仿真口,仿真器的通信口與取下,插上仿真器的仿真口,仿真器的通信口與PC連接連接 在在PC上需要安裝與該仿真器配套使用的專用調(diào)試系統(tǒng)軟件,上需要安裝與該仿真器配套使用的專用調(diào)試系統(tǒng)軟件,用戶在該調(diào)試系統(tǒng)中,就可以通過用戶在該調(diào)試系統(tǒng)中,就可以通過PC機來控制仿真器中程序的運機來控制仿真器中程序的運行,同時觀察系統(tǒng)外圍器件和設(shè)備的運行結(jié)果,分析、調(diào)試和排行,同時觀察系統(tǒng)外圍器件和設(shè)
20、備的運行結(jié)果,分析、調(diào)試和排除系統(tǒng)中存在的問題。這種運行調(diào)試方法稱為在線(板)仿真。除系統(tǒng)中存在的問題。這種運行調(diào)試方法稱為在線(板)仿真。 15仿真開發(fā)系統(tǒng)通常具有的一些基本功能為:仿真開發(fā)系統(tǒng)通常具有的一些基本功能為: 可控性??煽匦浴?梢愿鶕?jù)調(diào)試的需要,控制目標程序的運行方式,如可以根據(jù)調(diào)試的需要,控制目標程序的運行方式,如單步、連續(xù)、帶斷點等多種運行方式單步、連續(xù)、帶斷點等多種運行方式 透明性。透明性。能對能對MCU的各個部分進行監(jiān)控,如查看和設(shè)置內(nèi)存單的各個部分進行監(jiān)控,如查看和設(shè)置內(nèi)存單元、寄存器、元、寄存器、I/O的數(shù)據(jù)。的數(shù)據(jù)。 仿真開發(fā)系統(tǒng)都必須配備一套在仿真開發(fā)系統(tǒng)都必須配
21、備一套在PC機上運行的專用仿真開機上運行的專用仿真開發(fā)軟件系統(tǒng),用以配合和實現(xiàn)仿真器的在線仿真調(diào)試工作。因發(fā)軟件系統(tǒng),用以配合和實現(xiàn)仿真器的在線仿真調(diào)試工作。因此嵌入式系統(tǒng)的開發(fā)人員,除了要掌握單片機和嵌入式系統(tǒng)的此嵌入式系統(tǒng)的開發(fā)人員,除了要掌握單片機和嵌入式系統(tǒng)的應(yīng)用和設(shè)計能力應(yīng)用和設(shè)計能力,還應(yīng)熟練地掌握和使用仿真器和仿真系統(tǒng)軟,還應(yīng)熟練地掌握和使用仿真器和仿真系統(tǒng)軟件。件。163.實時在片仿真器實時在片仿真器新型的芯片在片內(nèi)集成了硬件調(diào)試接口。新型的芯片在片內(nèi)集成了硬件調(diào)試接口。 (IEEE1149.1標準的標準的JTAG) JTAG硬件調(diào)試接口的基本原理硬件調(diào)試接口的基本原理: 采用
22、了一種原應(yīng)用于對集成電路芯片內(nèi)部進行檢測的采用了一種原應(yīng)用于對集成電路芯片內(nèi)部進行檢測的“邊界邊界掃描掃描”技術(shù)實現(xiàn)的。使用該技術(shù),當芯片在工作時,可以將集技術(shù)實現(xiàn)的。使用該技術(shù),當芯片在工作時,可以將集成電路內(nèi)部的各個部分的狀態(tài)以及數(shù)據(jù),組成一個串行的移位成電路內(nèi)部的各個部分的狀態(tài)以及數(shù)據(jù),組成一個串行的移位寄存器鏈,并通過引腳送到芯片的外部。所以通過寄存器鏈,并通過引腳送到芯片的外部。所以通過JTAG硬件調(diào)硬件調(diào)試接口,用戶就能了解芯片在實際工作過程中,各個單元的實試接口,用戶就能了解芯片在實際工作過程中,各個單元的實際情況和變化,進而實現(xiàn)跟蹤和調(diào)試。際情況和變化,進而實現(xiàn)跟蹤和調(diào)試。JT
23、AG硬件調(diào)試接口采用硬件調(diào)試接口采用4線的串行方式傳送數(shù)據(jù),占用線的串行方式傳送數(shù)據(jù),占用MCU的引腳比較少。的引腳比較少。17 采用采用JTAG硬件調(diào)試接口進行仿真調(diào)試也是實時的在線調(diào)硬件調(diào)試接口進行仿真調(diào)試也是實時的在線調(diào)試。不同的是,采用這種方式的調(diào)試不需要將芯片取下,用戶試。不同的是,采用這種方式的調(diào)試不需要將芯片取下,用戶得到的運行數(shù)據(jù)就是芯片本身運行的真實數(shù)據(jù),所以這種調(diào)試得到的運行數(shù)據(jù)就是芯片本身運行的真實數(shù)據(jù),所以這種調(diào)試手段和方式稱為實時在片調(diào)試(手段和方式稱為實時在片調(diào)試(On Chip Debug),并正在替),并正在替代傳統(tǒng)的實時再板仿真調(diào)試(代傳統(tǒng)的實時再板仿真調(diào)試(
24、On Board Debug)技術(shù)。)技術(shù)。 實現(xiàn)實時在片調(diào)試的首要條件,是芯片本身要具備硬件調(diào)實現(xiàn)實時在片調(diào)試的首要條件,是芯片本身要具備硬件調(diào)試接口。除此之外,同實時再板仿真調(diào)試一樣,也需要一個專試接口。除此之外,同實時再板仿真調(diào)試一樣,也需要一個專用的實時在片仿真器(采用用的實時在片仿真器(采用JTAG硬件調(diào)試口的,稱為硬件調(diào)試口的,稱為JTAG ICE),不過同實時再板仿真器相比,它的價格就便宜。),不過同實時再板仿真器相比,它的價格就便宜。 使用實時在片仿真器進行系統(tǒng)調(diào)試時,其系統(tǒng)的組成和連使用實時在片仿真器進行系統(tǒng)調(diào)試時,其系統(tǒng)的組成和連接方式與使用實時再板仿真器類似。接方式與使用
25、實時再板仿真器類似。JTAG仿真器一般也是使用仿真器一般也是使用串行口(串行口(COM口或口或USB接口)或并行口(打印機口)同接口)或并行口(打印機口)同PC機機通信,不同之處在于,另一端的接口是直接與目標機系統(tǒng)上通信,不同之處在于,另一端的接口是直接與目標機系統(tǒng)上MCU芯片的芯片的JTAG引腳連接,不需要將芯片從系統(tǒng)上取下。引腳連接,不需要將芯片從系統(tǒng)上取下。 184. 編程燒入器編程燒入器 編程燒入器也稱為程序燒入器或編程器,它的作用是將開編程燒入器也稱為程序燒入器或編程器,它的作用是將開發(fā)人員編寫生成的嵌入式系統(tǒng)的二進制運行代碼下載(寫入)發(fā)人員編寫生成的嵌入式系統(tǒng)的二進制運行代碼下載
26、(寫入)到單片機的程序存儲器中。到單片機的程序存儲器中。 萬用編程器萬用編程器,它不僅可以下載運行代碼到多種類型和型號的單,它不僅可以下載運行代碼到多種類型和型號的單片機中,還可以對片機中,還可以對EPROM、PAL、GAL等多種器件進行編程。等多種器件進行編程。19AVR單片嵌入式系統(tǒng)的軟件開發(fā)平臺單片嵌入式系統(tǒng)的軟件開發(fā)平臺 AVR單片機提供了一套免費的集成開發(fā)平臺:單片機提供了一套免費的集成開發(fā)平臺:AVR Studio(http:/http:/)。)。 該軟件平臺支持該軟件平臺支持AVR匯編程序的編輯、編譯、連接以及生成匯編程序的編輯、編譯、連接以及生成目標代碼。同時該軟件還內(nèi)嵌目標代
27、碼。同時該軟件還內(nèi)嵌AVR GCC高級語言接口,內(nèi)含高級語言接口,內(nèi)含AVR軟件模擬器,其仿真調(diào)試平臺還可以配合軟件模擬器,其仿真調(diào)試平臺還可以配合ATMEL公司設(shè)計公司設(shè)計推出的多種類型的仿真器,如實時在板仿真器推出的多種類型的仿真器,如實時在板仿真器ICE40、ICE50,實時在片仿真器實時在片仿真器JTAG ICE、JTAGICE mkII等,以實現(xiàn)系統(tǒng)的等,以實現(xiàn)系統(tǒng)的在線的硬件仿真調(diào)試功能和目標代碼的下載功能。在線的硬件仿真調(diào)試功能和目標代碼的下載功能。 20采用高級程序語言采用高級程序語言C的開發(fā)平臺有:的開發(fā)平臺有:ICCAVR( AVR(www.hpinfotech.ro)Wi
28、n AVRIAR Systems()AVR GCC(http:/)采用高級程序語言采用高級程序語言BASIC的開發(fā)平臺有:的開發(fā)平臺有:BASIC AVR(http:/)FastAVR Basic(http:/)BASCOM-AVR(http:/)。)。AVR Studio和和AVR GCC是完全免費的軟件是完全免費的軟件 ICCAVR、CodeVision AVR、IAR System、BASCOM-AVR等均為商業(yè)軟件等均為商業(yè)軟件 21匯編語言開發(fā)平臺匯編語言開發(fā)平臺 ATMEL ATMEL 公司提供免費的公司提供免費的AVRAVR匯編語言編譯器。在匯編語言編譯器。在AVR STUDIO
29、AVR STUDIO中中已經(jīng)將已經(jīng)將AVRAVR匯編語言編譯器集成在一起,你可以在匯編語言編譯器集成在一起,你可以在AVR STUDIO AVR STUDIO 中完成中完成AVRAVR匯編代碼的編輯,編譯和連接,生成可下載的運行代匯編代碼的編輯,編譯和連接,生成可下載的運行代碼。碼。 由于由于AVR 的指令與的指令與C 語言有很強的對應(yīng)性,再加上語言有很強的對應(yīng)性,再加上AVR 匯匯編語言編譯器有強大的預(yù)編譯能力,如宏,表達式計算能力等,編語言編譯器有強大的預(yù)編譯能力,如宏,表達式計算能力等,所以使用所以使用AVR匯編語言寫出的代碼可讀性也是很強的。匯編語言寫出的代碼可讀性也是很強的。 部分第
30、三方的高級語言開發(fā)平臺不具備軟件模擬仿真環(huán)境部分第三方的高級語言開發(fā)平臺不具備軟件模擬仿真環(huán)境和在線實時仿真的功能,但他們都能夠生成在和在線實時仿真的功能,但他們都能夠生成在AVR STUDIO中中可以使用的,用于仿真的文件,這樣高級語言的開發(fā)平臺與可以使用的,用于仿真的文件,這樣高級語言的開發(fā)平臺與AVR STUDIO配合使用,就能構(gòu)成和實現(xiàn)一個基于高級語言的配合使用,就能構(gòu)成和實現(xiàn)一個基于高級語言的軟仿真和在線實時仿真調(diào)試的開發(fā)環(huán)境。軟仿真和在線實時仿真調(diào)試的開發(fā)環(huán)境。 222 高級語言開發(fā)臺高級語言開發(fā)臺 根據(jù)高級語言的種類,根據(jù)高級語言的種類,AVR有有C、BASIC、PASCAL,A
31、DA等多種語言的開發(fā)平臺。等多種語言的開發(fā)平臺。 幾種高級語言編譯器和開發(fā)軟件平臺幾種高級語言編譯器和開發(fā)軟件平臺 (1) IAR Systems的的Embedded Workbench 編譯器編譯器 C編譯器和匯編編譯器支持幾乎所有編譯器和匯編編譯器支持幾乎所有AVR芯片,具備以下特點:芯片,具備以下特點: C編譯器支持編譯器支持ISO/ANSI C的標準的標準C和可選的和可選的Embedded C+編譯器。編譯器。所有代碼都可重入。所有代碼都可重入。有多種存儲器模型和指針類型,以充分利用存儲器。有多種存儲器模型和指針類型,以充分利用存儲器。內(nèi)建針對內(nèi)建針對AVR優(yōu)化的選項,多重的代碼大小和
32、執(zhí)行速度的優(yōu)化控制。優(yōu)化的選項,多重的代碼大小和執(zhí)行速度的優(yōu)化控制。針對針對AVR的語言擴展以適應(yīng)嵌入式編程。的語言擴展以適應(yīng)嵌入式編程。新增的強大全局優(yōu)化器。新增的強大全局優(yōu)化器??梢灾苯釉诳梢灾苯釉贑/C+中寫快速易用的中斷處理函數(shù)。中寫快速易用的中斷處理函數(shù)。高效的高效的32位和位和64位的位的IEEE兼容的浮點運算。兼容的浮點運算。擴展的擴展的C和和EC+的函數(shù)庫,并對數(shù)學(xué)和浮點運算。的函數(shù)庫,并對數(shù)學(xué)和浮點運算。IAR Systems的網(wǎng)站地址為的網(wǎng)站地址為http:/ 23(2) IMAGE CRAFT的的ICCAVR編譯器編譯器 ICCAVR支持除支持除AT90S1200外的所有
33、外的所有AT90系列和系列和ATmega系列,系列,Tiny26和和AT94KFPSLIC器件,自動生成對器件,自動生成對I/O寄存器操作的寄存器操作的I/O指令。其編譯器是對指令。其編譯器是對LCC通用通用C編譯器的移植,完全支持標準的編譯器的移植,完全支持標準的ANSI C,支持,支持32位的長整數(shù)和位的長整數(shù)和32位的單精度浮點數(shù)運算,支持位的單精度浮點數(shù)運算,支持在線匯編,同時也能和單獨的匯編模塊進行接口。擁有包括在線匯編,同時也能和單獨的匯編模塊進行接口。擁有包括printf,存儲器分配,字符串和數(shù)學(xué)函數(shù)的,存儲器分配,字符串和數(shù)學(xué)函數(shù)的ANSI C庫函數(shù)的子集庫函數(shù)的子集庫函數(shù)和針
34、對特定目標訪問片上庫函數(shù)和針對特定目標訪問片上EEPROM和各種片上外設(shè)的庫和各種片上外設(shè)的庫函數(shù)??梢院瘮?shù)??梢陨捎糜谏捎糜贏VR STUDIO源碼級調(diào)試的目標文件源碼級調(diào)試的目標文件。在。在其其IDE中包含了對項目的管理,源文件的編輯,編譯和鏈接源選中包含了對項目的管理,源文件的編輯,編譯和鏈接源選的設(shè)置,還有內(nèi)嵌的的設(shè)置,還有內(nèi)嵌的ISP編程界面。編程界面。 ImageCraft的網(wǎng)站地址為的網(wǎng)站地址為http:/,提供,提供30天天的試用版下載。國內(nèi)廣州雙龍公司是的試用版下載。國內(nèi)廣州雙龍公司是ICCAVR的代理商。的代理商。 24(3) HP Info Tech的的CodeVis
35、ion AVR編譯器編譯器 CodeVision AVR是是HP Info Tech專門為專門為AVR設(shè)計的一款低成本的設(shè)計的一款低成本的C語言編譯器,它產(chǎn)生的代碼非常嚴密,效率很高。它不僅包括語言編譯器,它產(chǎn)生的代碼非常嚴密,效率很高。它不僅包括了了AVR C 編譯器,同時也是一個集成編譯器,同時也是一個集成IDE的的AVR開發(fā)平臺,簡開發(fā)平臺,簡稱稱CVAVR。CVAVR支持所有片內(nèi)含有支持所有片內(nèi)含有RAM的的AVR芯片,具備以下特點:芯片,具備以下特點: 支持支持bit、char、short、int、long、float以及指針等多種數(shù)據(jù)類型,充分利以及指針等多種數(shù)據(jù)類型,充分利用存儲
36、器。用存儲器。內(nèi)建針對內(nèi)建針對AVR優(yōu)化的多種選項。優(yōu)化的多種選項。支持內(nèi)嵌匯編。支持內(nèi)嵌匯編。擴展的一些標準的外部器件支持和接口函數(shù),如:標準字符擴展的一些標準的外部器件支持和接口函數(shù),如:標準字符LCD顯示器、顯示器、I2C接口、接口、SPI接口、延時、接口、延時、BCD碼與格雷碼轉(zhuǎn)換等。碼與格雷碼轉(zhuǎn)換等??梢灾苯釉诳梢灾苯釉贑/C+中寫快速易用的中斷處理函數(shù)。中寫快速易用的中斷處理函數(shù)。高效的高效的32位和位和64位的位的IEEE兼容的浮點運算。兼容的浮點運算。擴展的擴展的C和和EC+的函數(shù)庫,并對數(shù)學(xué)和浮點運算。的函數(shù)庫,并對數(shù)學(xué)和浮點運算。HP Info Tech的網(wǎng)站地址為的網(wǎng)站地
37、址為http:/www.hpinfotech.ro,提供試用,提供試用板(板(2K代碼限制)的下載。代碼限制)的下載。 25(4) GNU GCC AVRGCCAVR的特點為:的特點為:所有源代碼都是向用戶開放,完全免費。所有源代碼都是向用戶開放,完全免費。GCC AVR本身支持本身支持ANSI C/C+/EMBEDDED C+。GCCAVR本身的編譯效率和穩(wěn)定性,編譯后代碼執(zhí)行效率僅次本身的編譯效率和穩(wěn)定性,編譯后代碼執(zhí)行效率僅次于于IAR Systems的的Embedded Workbench。支持幾乎所有的支持幾乎所有的AVR器件。器件。包括兼容包括兼容ANSI C的部分標準函數(shù)庫和針對
38、的部分標準函數(shù)庫和針對AVR的各個外設(shè)的函的各個外設(shè)的函數(shù)庫。數(shù)庫。缺乏專業(yè)的技術(shù)支持,缺乏圖形的集成編輯環(huán)境(缺乏專業(yè)的技術(shù)支持,缺乏圖形的集成編輯環(huán)境(IDE),所),所有程序都是命令行執(zhí)行的。有程序都是命令行執(zhí)行的。用戶可以在用戶可以在http:/上獲得最新的上獲得最新的GNU GCC AVR軟件包。軟件包。 26(5) winavr 是一套開源的開發(fā)工具的總稱,用來在Windows平臺開發(fā)Atmel AVR系列RISC微控制器。 27Win AVR的工具 1.avr-gcc。基于命令行的編譯器。著名的開源編譯器GUN C Compiler的AVR平臺移植版。 2.avr-libc。編譯
39、器avr-gcc的庫 3.avr-as。匯編器。 4.avrdude。編程接口。 5.avr-gdb。調(diào)試器。 6.programmers notepad。代碼編輯器。 28(6)幾種)幾種C語言開發(fā)平臺的對比語言開發(fā)平臺的對比(7) BASCOM-AVR BASCOM-AVR是荷蘭是荷蘭MCS Electronics公司設(shè)計的一款針公司設(shè)計的一款針對對AVR系列單片機的系列單片機的BASIC編譯器,其軟件包由編譯器,其軟件包由BACIS編譯器編譯器和和IDE集成編輯環(huán)境組成。集成編輯環(huán)境組成。IDE集成編輯環(huán)境支持對源代碼的高集成編輯環(huán)境支持對源代碼的高亮顯示,提供上下文提示,以提高編碼效率
40、。亮顯示,提供上下文提示,以提高編碼效率。IDE集成編輯環(huán)集成編輯環(huán)境還包含了一系列工具,圖形化的模擬仿真環(huán)境,無需連結(jié)硬境還包含了一系列工具,圖形化的模擬仿真環(huán)境,無需連結(jié)硬件,你就可以通過它對件,你就可以通過它對LCD,LED,UART,和,和PIO端口進行端口進行仿真。此外,你還可以在仿真。此外,你還可以在IDE集成環(huán)境中對目標板進行集成環(huán)境中對目標板進行ISP編程。編程。 29主要特點有主要特點有: 采用可帶語句標示符的結(jié)構(gòu)型采用可帶語句標示符的結(jié)構(gòu)型BASIC高級程序設(shè)計語言編程,高級程序設(shè)計語言編程,程序語句和程序語句和Microsoft VB/QB高度兼容。高度兼容。結(jié)構(gòu)化的結(jié)構(gòu)化的IF-THEN-ELSE-ENDIF、DO-LOOP、WHILE-WEND、SELECT-CASE程序設(shè)計。程序設(shè)計。變量名和語句標示符長達變量名和語句標示符長達32個字符。個字符。支持位支持位(Bit)、字節(jié)、字節(jié)(Byte)、整型、整型(Integer)、字、字(Word)、長型、長型(Long),字符串,字符串(String
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀行財務(wù)工作總結(jié)及風險控制計劃
- 2025年機場應(yīng)急演練計劃
- 2024-2025學(xué)年小學(xué)班級管理工作計劃范文
- 貸款二手房協(xié)議
- 互聯(lián)網(wǎng)營銷月度推廣計劃
- 利用信息技術(shù)促進農(nóng)業(yè)發(fā)展協(xié)議
- 學(xué)騎車400字小學(xué)作文8篇范文
- 《明清時期的社會經(jīng)濟變革:初中歷史課程教案》
- 2025小學(xué)總務(wù)校園基礎(chǔ)設(shè)施更新計劃
- 廣告代言及合作協(xié)議
- 私人房屋抵押合同
- 腹瀉課件模板
- 《市場人員商務(wù)禮儀》課件
- 《OSB-單板復(fù)合集裝箱底板剛度模型及工藝研究》
- 3.3.1天氣系統(tǒng)-鋒與天氣課件高二地理湘教版(2019)選擇性必修1
- 《重大火災(zāi)隱患判定規(guī)則》知識培訓(xùn)
- 辦公室主任職業(yè)規(guī)劃
- 第九章新時代中國特色大國外交與構(gòu)建人類命運共同體-2024版研究生新中特教材課件
- 出國工作合同范例
- 《執(zhí)法規(guī)范化建設(shè)探究的國內(nèi)外文獻綜述》2700字
- 大學(xué)物業(yè)服務(wù)月考核評價評分表
評論
0/150
提交評論