




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、ARM嵌入式開發(fā)實(shí)例12嵌入式系統(tǒng)的設(shè)計(jì)要求嵌入式系統(tǒng)設(shè)計(jì)開發(fā)不同于桌面系統(tǒng),它非常受制于功能和具體的應(yīng)用環(huán)境,所以嵌入式系統(tǒng)的設(shè)計(jì)具有一些特殊的要求:接口方便、操作容易穩(wěn)定可靠、維護(hù)簡便功耗管理、降低本錢功能實(shí)用、便于升級(jí)并發(fā)處理、及時(shí)響應(yīng)嵌入式系統(tǒng)開發(fā)特點(diǎn)需要軟硬件綜合開發(fā),二者密切相關(guān)。原因:任何一個(gè)嵌入式產(chǎn)品都是軟件和硬件的結(jié)合體一旦嵌入式產(chǎn)品研發(fā)完成,軟件就固化在硬件環(huán)境中,嵌入式軟件是針對(duì)相應(yīng)的嵌入式硬件開發(fā)的,是專用的。嵌入式系統(tǒng)的這一特點(diǎn),決定了嵌入式應(yīng)用開發(fā)方法不同于傳統(tǒng)的軟件工程方法。預(yù)備知識(shí)ARM嵌入式系統(tǒng)的概念和根本構(gòu)造印刷電路板設(shè)計(jì)知識(shí)模擬電子技術(shù)、數(shù)字電子技術(shù)等集成
2、開發(fā)環(huán)境編程語言匯編語言:ARM嵌入式指令集 初始化的啟動(dòng)程序C語言C語言匯編語言1、明確ARM嵌入式系統(tǒng)開發(fā)的過程 嵌入式軟件的開發(fā)流程與通用軟件的開發(fā)流程大同小異,但開發(fā)所使用的設(shè)計(jì)方法具有嵌入式開發(fā)的特點(diǎn)。整個(gè)開發(fā)流程可分為:需求分析階段設(shè)計(jì)階段生成代碼階段固化階段5 需求和規(guī)格說明 嵌入式系統(tǒng)應(yīng)用需求中最為突出的是注重應(yīng)用的時(shí)效性,需求分析階段的主要任務(wù)是:(1)對(duì)問題的識(shí)別和分析 對(duì)用戶提出的問題進(jìn)展抽象識(shí)別用以產(chǎn)生以下的需求:功能需求、性能需求、環(huán)境需求、可靠性需求、平安需求、用戶界面需求、資源使用需求、軟件本錢與開發(fā)進(jìn)度需求。(2)制訂規(guī)格說明文檔 經(jīng)過對(duì)問題的識(shí)別,產(chǎn)生了系統(tǒng)各
3、方面的需求。通過對(duì)規(guī)格的說明,文檔得以清晰、準(zhǔn)確地描述。這些說明文檔包括需求規(guī)格說明書和初級(jí)的用戶手冊(cè)等。(3)需求評(píng)審 需求評(píng)審作為系統(tǒng)進(jìn)入下一階段前最后的需求分析復(fù)查手段,在需求分析的最后階段對(duì)各項(xiàng)需求進(jìn)展評(píng)估,以保證軟件需求的質(zhì)量。需求評(píng)審的內(nèi)容包括正確性、無歧義性、平安性、可驗(yàn)證性、一致性、可理解性、可修改性、可追蹤性等多個(gè)方面。嵌入式系統(tǒng)開發(fā)要點(diǎn)穿插編譯器(Cross-compiler):是一種運(yùn)行在通用計(jì)算機(jī)上的、但是能夠生成在另一種處理器上運(yùn)行的目標(biāo)代碼的編譯器。穿插開發(fā):在一臺(tái)通用計(jì)算機(jī)上進(jìn)展軟件的編輯、編譯,然后下載到嵌入式系統(tǒng)中運(yùn)行調(diào)試。 嵌入式系統(tǒng)開發(fā)要點(diǎn) 它分散在有通信
4、連接的宿主機(jī)與目標(biāo)機(jī)環(huán)境之中: 宿主機(jī)(Host)是一臺(tái)通用計(jì)算機(jī),一般是PC機(jī)。它通過串口或網(wǎng)絡(luò)連接與目標(biāo)機(jī)通信。 目標(biāo)機(jī)(Target) 可以是嵌入式應(yīng)用軟件的實(shí)際運(yùn)行環(huán)境可以是能替代實(shí)際環(huán)境的仿真系統(tǒng)10 ARM嵌入式系統(tǒng)簡介 典型的開發(fā)環(huán)境源程序編譯器目標(biāo)文件鏈接器可執(zhí)行文件2、熟悉開發(fā)工具環(huán)境里的庫函數(shù)了解三個(gè)方面 1考慮硬件對(duì)庫函數(shù)的支持; 注意:庫函數(shù)的使用并不是必須的。 2符合目標(biāo)系統(tǒng)上的存儲(chǔ)器資源分布; 3應(yīng)用程序運(yùn)行環(huán)境的初始化;11 ARM嵌入式系統(tǒng)簡介3、熟悉ARM嵌入式系統(tǒng)的調(diào)試操作調(diào)試有三種根本方法模擬調(diào)試Simulator軟件調(diào)試Debugger仿真器調(diào)試Emul
5、ator 12 ARM嵌入式系統(tǒng)簡介模擬調(diào)試Simulator 調(diào)試工具和待調(diào)試的嵌入式軟件都在主機(jī)上運(yùn)行,由主機(jī)提供一個(gè)模擬的目標(biāo)運(yùn)行環(huán)境,可以進(jìn)展語法和邏輯上的調(diào)試。優(yōu)點(diǎn):簡單方便,不需要目標(biāo)板,本錢低缺點(diǎn):功能非常有限,無法實(shí)時(shí)調(diào)試大多數(shù)調(diào)試工具都提供Simulator功能軟件調(diào)試Debugger監(jiān)控器方式 主機(jī)和目標(biāo)板通過某種接口通常是串口連接,主機(jī)上提供調(diào)試界面,待調(diào)試軟件下載到目標(biāo)板上運(yùn)行。 這種方式的先決條件是要在Host和Target之間建立起通信聯(lián)系目標(biāo)板上稱為監(jiān)控程序Monitor優(yōu)點(diǎn):純軟件,價(jià)格較低,簡單,軟件調(diào)試能力較強(qiáng)缺點(diǎn):需要事先燒制Monitor往往需屢次試驗(yàn)才
6、能成功且目標(biāo)板工作正常,功能有限,特別是硬件調(diào)試能力較差。PCTargetMonitor串口仿真器方式Emulator 這種方式用仿真器完全取代目標(biāo)板上的MCU,因而目標(biāo)系統(tǒng)對(duì)開發(fā)者來說完全是透明的、可控的。仿真器與目標(biāo)板通過仿真頭連接,與主機(jī)有串口、并口、網(wǎng)口或USB口等連接方式。由于仿真器自成體系,調(diào)試時(shí)既可以連接目標(biāo)板,也可以不連接目標(biāo)板Stand alone。優(yōu)點(diǎn):功能非常強(qiáng)大,軟硬件均可做到完全實(shí)時(shí)在線調(diào)試缺點(diǎn):價(jià)格昂貴。 一般高檔的微處理器都帶JTAG (Joint Test Action Group,聯(lián)合測(cè)試行動(dòng)組)接口,它是一種邊界掃描標(biāo)準(zhǔn),只需5根引腳就可以實(shí)現(xiàn)在線仿真的功能
7、。JTAG調(diào)試 有一個(gè)硬件調(diào)試體。該硬件調(diào)試體與目標(biāo)板通過JTAG調(diào)試接口相連,與主機(jī)通過串口、并口、網(wǎng)口或USB口相連。待調(diào)試軟件通過JTAG調(diào)試器下載到目標(biāo)板上運(yùn)行。TargetPC接口JTAG第1章 初識(shí)ARM嵌入式系統(tǒng)1.2.2 ARM嵌入式系統(tǒng)的開發(fā)環(huán)境編譯器/匯編器指令系統(tǒng)模擬器在線仿真器或調(diào)試探測(cè)器目標(biāo)開發(fā)板跟蹤捕捉儀嵌入式操作系統(tǒng)常見的開發(fā)環(huán)境17產(chǎn)品公司C編譯器產(chǎn)品說明ARM公司ARM處理器在RealView開發(fā)套件中有良好的技術(shù)支持。其中RealView-ICE可以用于連接調(diào)試硬件和調(diào)試環(huán)境。KEIL公司Keil公司最早以支持8051系列單片機(jī)的開發(fā)受到廣大用戶的支持。而在
8、最新版本的RealView MDK開發(fā)環(huán)境中,對(duì)ARM嵌入式系統(tǒng)的開發(fā)具有很好的支持。其配套的仿真器是ULink和JLink。IAR System公司英文全稱為IAR Embedded Workbentch for ARM and Cortex。在該開發(fā)環(huán)境中系統(tǒng)提供了C/C+編譯器和調(diào)試器。IAR開發(fā)工具鏈跟Keil公司一樣,主要致力于AVR單片機(jī)的嵌入式系統(tǒng)開發(fā)。其中,IAR配套的仿真器為JLink。Lauterbach公司提供JTAG仿真器以及JWT跟蹤設(shè)備。其他CodeSourcery公司推出的支持ARM嵌入式系統(tǒng)的GNU工具鏈。該工具鏈在市場(chǎng)上占有較小的份額,未能在嵌入式行業(yè)大面積推
9、廣。常見ARM嵌入式系統(tǒng)C編譯器最流行、最通用181.2.1 Keil MDK簡介Keil開發(fā)環(huán)境是德國知名公司Keil現(xiàn)已并入ARM公司開發(fā)的嵌入式微控制器軟件開發(fā)平臺(tái),也是目前ARM嵌入式單片機(jī)開發(fā)的主流工具。在該軟件平臺(tái)中,uVision的界面與微軟VC+的界面類似,具有友好的人機(jī)交互環(huán)境,啟動(dòng)界面如右圖所示。19在uVision開發(fā)工具鏈中包含了指令模擬器,用戶可以通過使用該功能來模擬“純粹”的ARM嵌入式代碼,即用戶不需要外部硬件平臺(tái)的支持也可以在軟件平臺(tái)中模擬代碼的運(yùn)行,基本的界面框架如右圖所示。RealView MDK用戶操作界面20Keil平臺(tái)開發(fā)周期Keil平臺(tái)開發(fā)ARM嵌入
10、式軟件,開發(fā)周期與其他的平臺(tái)環(huán)境的開發(fā)周期是類似的,大致有以下幾個(gè)步驟:創(chuàng)立新的工程工程,選擇正確的目標(biāo)芯片,對(duì)工程工程參數(shù)進(jìn)展配置;編寫C語言代碼或匯編程序代碼,并添加到工程工程文件中;對(duì)工程工程進(jìn)展編譯、連接和調(diào)試;修改源代碼中的語法錯(cuò)誤和邏輯錯(cuò)誤,重新編譯至正確與硬件聯(lián)機(jī)調(diào)試至無誤; ARM嵌入式系統(tǒng)的開發(fā)要點(diǎn)與開發(fā)環(huán)境211.2.3 Keil MDK開發(fā)步驟 ARM嵌入式系統(tǒng)的開發(fā)要點(diǎn)與開發(fā)環(huán)境221、創(chuàng)立/翻開工程文件 在Keil MDK開發(fā)環(huán)境中,用戶可以通過選擇“New Project下拉菜單來創(chuàng)立一個(gè)新的工程,如右圖所示。此時(shí),系統(tǒng)會(huì)彈出一個(gè)對(duì)話框,要求為新建的工程工程起一個(gè)名
11、字。 在菜單中創(chuàng)立新的工程將新創(chuàng)立的工程命名為“test ARM嵌入式系統(tǒng)的開發(fā)環(huán)境232、選擇ARM嵌入式芯片 在創(chuàng)立完存放工程代碼的文件夾后,用戶就可以根據(jù)實(shí)際的工程需要,選擇需要的ARM嵌入式芯片。在建立工程工程文件后,用戶需要在該工程工程內(nèi)添加源程序代碼。選擇菜單“File|“New或者點(diǎn)擊工具欄上的新建文件按鈕,就可以在工程工程窗口的右側(cè)翻開一個(gè)新的文本編輯窗口,用戶可以在該窗口中輸入程序代碼。在編輯完代碼之后,用戶需要將其保存為源文件,選擇菜單“File|“Save或者點(diǎn)擊工具欄的保存文件按鈕,可以實(shí)現(xiàn)對(duì)源文件的保存操作。在源文件編輯完成之后,用戶還需要將編寫好的源文件添加到新建的
12、工程工程中去。3、添加源代碼文件24添加源文件到工程工程中25添加源代碼對(duì)話框選擇其中的“Add Group Source Group1,系統(tǒng)彈出一個(gè)文件對(duì)話框,用戶可以在對(duì)話框中輸入源文件的路徑,點(diǎn)擊“確定后就完成了對(duì)源文件的添加操作,具體如右圖所示。特別需要提醒讀者注意的是,在添加文件的時(shí)候,由于對(duì)話框不會(huì)自動(dòng)關(guān)閉,經(jīng)常會(huì)被誤認(rèn)為添加文件操作沒有成功而在此雙擊添加同一個(gè)文件,引起不必須要的錯(cuò)誤,系統(tǒng)也會(huì)彈出相應(yīng)的錯(cuò)誤提示對(duì)話框,如右圖所示。重復(fù)添加源代碼后的錯(cuò)誤提示264、編譯程序 在程序代碼編輯完之后就可以進(jìn)入編譯階段,用戶可以通過菜單、工具欄和浮動(dòng)菜單等多種方式對(duì)源代碼進(jìn)展編譯操作。同時(shí),在Keil MDK平臺(tái)中,用戶還可以通過批處理文件進(jìn)展相應(yīng)的編譯操作。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)業(yè)合伙人簽訂合同范本
- 業(yè)務(wù)轉(zhuǎn)包合同范例
- 農(nóng)家樂入股合同范本
- 產(chǎn)品會(huì)展合同范本
- 不退不換合同范本
- 助聽器合同范本
- 勞務(wù)派遣合同范本6
- 借名辦證合同范本
- 倉庫租憑合同范本
- 勞動(dòng)合同范本廣州
- 新概念英語第一冊(cè)期末測(cè)試試卷附答案
- 2023年青島港灣職業(yè)技術(shù)學(xué)院高職單招(數(shù)學(xué))試題庫含答案解析
- GB/T 21114-2007耐火材料X射線熒光光譜化學(xué)分析熔鑄玻璃片法
- GB/T 16823.3-2010緊固件扭矩-夾緊力試驗(yàn)
- FZ/T 74001-2020紡織品針織運(yùn)動(dòng)護(hù)具
- 建筑工程上人屋面、不上人屋面工程施工方案及工藝方法
- 房建市政項(xiàng)目全過程工程咨詢招標(biāo)文件范本
- 整體形象設(shè)計(jì)課件
- 滅火器每月定期檢查記錄卡表格
- 一次函數(shù)的性質(zhì)說課課件
- 航空維修工程管理-第1章課件
評(píng)論
0/150
提交評(píng)論