版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
嵌入式ARM系統(tǒng)原理與實(shí)例開(kāi)發(fā)北京大學(xué)出版社出版楊宗德編著2007年7月10/31/20231北京大學(xué)出版社出版12ARM處理器概述
ARM硬件體系結(jié)構(gòu)
3ARM處理器內(nèi)部結(jié)構(gòu)
第2章嵌入式ARM處理器與開(kāi)發(fā)工具4開(kāi)發(fā)工具與開(kāi)發(fā)流程介紹
10/31/20232北京大學(xué)出版社出版ARMLtd成立于1990年11月前身為Acorn計(jì)算機(jī)公司AdvanceRISCMachine(ARM)主要設(shè)計(jì)ARM系列RISC處理器內(nèi)核授權(quán)ARM內(nèi)核給生產(chǎn)和銷售半導(dǎo)體的合作伙伴ARM公司不生產(chǎn)芯片IP(IntelligenceProperty)另外也提供基于ARM架構(gòu)的開(kāi)發(fā)設(shè)計(jì)技術(shù)軟件工具,評(píng)估板,調(diào)試工具,應(yīng)用軟件,總線架構(gòu),外圍設(shè)備單元,等等10/31/20233北京大學(xué)出版社出版ARM授權(quán)費(fèi)IPARM創(chuàng)造和設(shè)計(jì)IPPartner產(chǎn)品,例如:芯片Partner把ARMIP和其他IP集成進(jìn)產(chǎn)品OEMCustomer版權(quán)費(fèi)單價(jià)OEM用來(lái)自ARMPartner的芯片設(shè)計(jì)制造最終用戶產(chǎn)品業(yè)務(wù)拓展
/市場(chǎng)格局ARM的業(yè)務(wù)模型10/31/20234北京大學(xué)出版社出版命名的含義標(biāo)志含義說(shuō)明T支持Thumb指令集Thumb指令集版本1:ARMv4TThumb指令集版本2:ARMv5TThumb-2:ARMv6TD片上調(diào)試M支持長(zhǎng)乘法32位乘32位得到64位,32位的乘加得到64位IEmbeddedICEEDSP指令增加了DSP算法處理器指令:16位乘加指令,飽和的帶符號(hào)數(shù)的加減法,雙字?jǐn)?shù)據(jù)操作,cache預(yù)取指令JJava加速器Jazelle提高java代碼的運(yùn)行速度S可綜合提供VHDL或Verilog語(yǔ)言設(shè)計(jì)文件10/31/20235北京大學(xué)出版社出版12ARM處理器概述
ARM硬件體系結(jié)構(gòu)
3ARM處理器內(nèi)部結(jié)構(gòu)
第2章嵌入式ARM處理器與開(kāi)發(fā)工具4開(kāi)發(fā)工具與開(kāi)發(fā)流程介紹
10/31/20236北京大學(xué)出版社出版馮·諾依曼體系結(jié)構(gòu)模型指令寄存器控制器數(shù)據(jù)通道輸入輸出中央處理器存儲(chǔ)器程序指令0指令1指令2指令3指令4數(shù)據(jù)數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)210/31/20237北京大學(xué)出版社出版哈佛體系結(jié)構(gòu)指令寄存器控制器數(shù)據(jù)通道輸入輸出中央處理器程序存儲(chǔ)器指令0指令1指令2數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)2地址指令地址數(shù)據(jù)10/31/20238北京大學(xué)出版社出版CISC和RISCCISC:復(fù)雜指令集(ComplexInstructionSetComputer)具有大量的指令和尋址方式8/2原則:80%的程序只使用20%的指令大多數(shù)程序只使用少量的指令就能夠運(yùn)行。RISC:精簡(jiǎn)指令集(ReducedInstructionSetComputer)在通道中只包含最有用的指令確保數(shù)據(jù)通道快速執(zhí)行每一條指令使CPU硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡(jiǎn)單
10/31/20239北京大學(xué)出版社出版ARM處理器的指令三級(jí)流水線10/31/202310北京大學(xué)出版社出版ARM處理器的指令五級(jí)流水線10/31/202311北京大學(xué)出版社出版12ARM處理器概述
ARM硬件體系結(jié)構(gòu)
3ARM處理器內(nèi)部結(jié)構(gòu)
第2章嵌入式ARM處理器與開(kāi)發(fā)工具4開(kāi)發(fā)工具與開(kāi)發(fā)流程介紹
10/31/202312北京大學(xué)出版社出版ARM710結(jié)構(gòu)框圖10/31/202313北京大學(xué)出版社出版ARM7功能圖10/31/202314北京大學(xué)出版社出版ARM920功能結(jié)構(gòu)圖10/31/202315北京大學(xué)出版社出版S3C2410內(nèi)部結(jié)構(gòu)圖10/31/202316北京大學(xué)出版社出版IntelPXA270應(yīng)用系統(tǒng)框圖示例10/31/202317北京大學(xué)出版社出版12ARM處理器概述
ARM硬件體系結(jié)構(gòu)
3ARM處理器內(nèi)部結(jié)構(gòu)
第2章嵌入式ARM處理器與開(kāi)發(fā)工具4開(kāi)發(fā)工具與開(kāi)發(fā)流程介紹
10/31/202318北京大學(xué)出版社出版嵌入式軟件開(kāi)發(fā)的特點(diǎn)和技術(shù)挑戰(zhàn)嵌入式軟件開(kāi)發(fā)需要軟硬件開(kāi)發(fā)環(huán)境和工具嵌入式軟硬件必須協(xié)同設(shè)計(jì)需要新的任務(wù)設(shè)計(jì)方法開(kāi)發(fā)過(guò)程完成后,系統(tǒng)應(yīng)用程序代碼需要固化到系統(tǒng)中并進(jìn)行功能、性能和可靠性測(cè)試技術(shù)挑戰(zhàn):軟件的要求更高,開(kāi)發(fā)工作量和難度更大,需要較大的知識(shí)集合10/31/202319北京大學(xué)出版社出版嵌入式軟件開(kāi)發(fā)環(huán)境1)交叉開(kāi)發(fā)環(huán)境交叉開(kāi)發(fā)軟件一般為一個(gè)整合編輯、編譯、匯編、鏈接、調(diào)試、工程管理及函數(shù)庫(kù)等功能模塊的集成開(kāi)發(fā)環(huán)境IDE(IntergratedDevelopmentEnvironment)。所謂交叉是指在一種CPU及其環(huán)境上開(kāi)發(fā)另一種CPU及其環(huán)境上運(yùn)行的程序。10/31/202320北京大學(xué)出版社出版嵌入式軟件開(kāi)發(fā)環(huán)境2)軟件模擬環(huán)境軟件模擬環(huán)境也稱為指令集模擬器ISS(InstructionSetSimulator)軟件模擬不可能完全代替真正的硬件環(huán)境,這種模擬調(diào)試只能作為一種初步調(diào)試,主要是用作用戶程序的模擬運(yùn)行,用來(lái)檢查語(yǔ)法、程序的結(jié)構(gòu)等簡(jiǎn)單錯(cuò)誤,用戶最終還必須在真實(shí)的硬件環(huán)境中實(shí)際運(yùn)行調(diào)試,完成整個(gè)應(yīng)用的開(kāi)發(fā)。10/31/202321北京大學(xué)出版社出版嵌入式軟件開(kāi)發(fā)環(huán)境3)評(píng)估電路板一般用來(lái)作為開(kāi)發(fā)者使用的開(kāi)發(fā)平臺(tái)、學(xué)習(xí)板、實(shí)驗(yàn)板,它們可以作為應(yīng)用目標(biāo)板出來(lái)之前的軟件測(cè)試、硬件調(diào)試的電路板10/31/202322北京大學(xué)出版社出版嵌入式應(yīng)用軟件開(kāi)發(fā)的基本流程基于交叉開(kāi)發(fā)環(huán)境的嵌人式應(yīng)用軟件開(kāi)發(fā)主要分如下幾個(gè)步驟:開(kāi)發(fā)環(huán)境的建立、源代碼編輯階段、交叉編譯和鏈接、重定位和下載、聯(lián)機(jī)調(diào)試幾個(gè)基本階段。開(kāi)發(fā)環(huán)境建立源文件編輯階段編譯鏈接下載調(diào)試10/31/202323北京大學(xué)出版社出版嵌入式軟件開(kāi)發(fā)的可移植性和可重用性
在確保軟件的正確性、實(shí)時(shí)性的前提下,必須關(guān)注軟件的可移植性和可重用性。嵌入式軟件與通用軟件的不同在于嵌入式應(yīng)用軟件高度依賴于目標(biāo)應(yīng)用的軟硬件環(huán)境,軟件的部分任務(wù)功能函數(shù)由和處理器密切相關(guān)的匯編語(yǔ)言完成,可移植性差。一個(gè)運(yùn)行良好的嵌入式軟件或其中的部分子程序可能在今后的開(kāi)發(fā)中被應(yīng)用于類似的應(yīng)用領(lǐng)域。原有的代碼已被反復(fù)應(yīng)用和維護(hù),具有更好的穩(wěn)定性。在原有的代碼上進(jìn)行移植將會(huì)減少開(kāi)發(fā)的周期、提高開(kāi)發(fā)效率、節(jié)約開(kāi)發(fā)成本10/31/202324北京大學(xué)出版社出版嵌入式軟件開(kāi)發(fā)的可移植性和可重用性
采用下面的方法可以提高應(yīng)用軟件的可移植性和可重用性。多用高級(jí)語(yǔ)言少用或者不用匯編語(yǔ)言將不可移植部分局域化提高代碼的可重用性(標(biāo)準(zhǔn)化接口)10/31/202325北京大學(xué)出版社出版嵌入式開(kāi)發(fā)的考慮要素復(fù)雜計(jì)算與資源緊缺用戶界面的選擇實(shí)時(shí)性多任務(wù)多速率制造成本功耗成品的體積10/31/202326北京大學(xué)出版社出版嵌入式開(kāi)發(fā)的基本流程系統(tǒng)定義與需求分析系統(tǒng)設(shè)計(jì)方案的初步確立初步設(shè)計(jì)方案性價(jià)比評(píng)估與方案評(píng)審論證完善初步方案、初步方案實(shí)施軟硬件集成測(cè)試系統(tǒng)功能性能測(cè)試及可靠性測(cè)試 10/31/202327北京大學(xué)出版社出版常用嵌入式系統(tǒng)軟件開(kāi)發(fā)工具面向硬件的開(kāi)發(fā)工具如ADS嵌入式操作系統(tǒng)開(kāi)發(fā)如GCC面向特定操作系統(tǒng)的應(yīng)用開(kāi)發(fā)工具10/31/202328北京大學(xué)出版社出版底層開(kāi)發(fā)使用ADS軟件開(kāi)發(fā)流程及調(diào)試方式圖
10/31/202329北京大學(xué)出版社出版嵌入式操作系統(tǒng)開(kāi)發(fā)GCC系列工具嵌入式操作系統(tǒng)多用C/C++開(kāi)發(fā),因此,要編譯操作系統(tǒng)內(nèi)容,一般都使用GCC系列工具。GCC可以用來(lái)編譯uClinux、Linux、ECOS、uC/OS-II等操作系統(tǒng)。10/31/202330北京大學(xué)出版社出版面向特定操作系統(tǒng)的應(yīng)用工具WinCE應(yīng)用軟件開(kāi)發(fā):如果選用的操作系統(tǒng)為WinCE,則應(yīng)用軟件需要選擇WinCE的EmbededVC開(kāi)發(fā)環(huán)境。Symbian應(yīng)用程序開(kāi)發(fā):如果開(kāi)發(fā)Symbian手機(jī)應(yīng)用程序,則Symbian應(yīng)用程序開(kāi)發(fā)選擇的是Symbian的C/C++集成開(kāi)發(fā)環(huán)境。Linux應(yīng)用程序開(kāi)發(fā):如果開(kāi)發(fā)的是Linux應(yīng)用程序,則選擇的開(kāi)發(fā)工具是Linux程序開(kāi)發(fā)工具(GCC/G++/GDB/Makefile)。10/31/202331北京大學(xué)出版社出版Linux交叉編譯調(diào)試環(huán)境開(kāi)發(fā)程序過(guò)程10/31/202332北京大學(xué)出版社出版Linux交叉編譯調(diào)試環(huán)境開(kāi)發(fā)程序過(guò)程(1)程序首先在宿主機(jī)(安裝與應(yīng)用目標(biāo)板同樣內(nèi)核的Linux操作系統(tǒng))編輯編譯,生成可執(zhí)行文件。(2)通過(guò)網(wǎng)絡(luò)共享方式將該程序共享給目標(biāo)板,因?yàn)榇颂幨情_(kāi)發(fā)Linux應(yīng)用程序,目標(biāo)板已經(jīng)移植了Linux操作系統(tǒng),因此,可以充分利用Linux操作系統(tǒng)強(qiáng)大的網(wǎng)絡(luò)功能,通過(guò)共享的方式的原因一方面是減少下載程序的時(shí)間,另一方面也是因?yàn)槟繕?biāo)板資源有很,盡可能少占用目標(biāo)板資源的考慮。(3)通過(guò)Linux操作系統(tǒng)遠(yuǎn)程登陸方式登陸到目標(biāo)板Linux,并在目標(biāo)板上運(yùn)行交叉調(diào)試服務(wù)器,然后在目標(biāo)板上運(yùn)行共享到目標(biāo)板的Linux應(yīng)用程序。(4)通過(guò)交叉調(diào)用器終端訪問(wèn)目標(biāo)板的交叉調(diào)試服務(wù)器,將該程序的運(yùn)行結(jié)果反饋到宿主機(jī)上,查看運(yùn)行結(jié)果是否正確。10/31/202333北京大學(xué)出版社出版ADS1.2軟件環(huán)境開(kāi)發(fā)流程10/31/202334北京大學(xué)出版社出版ARM命令參數(shù)說(shuō)明(1.armasm匯編編譯指令,)此命令用來(lái)編譯匯編程序,其命令格式:armasm[選項(xiàng)]-o目標(biāo)文件源文件參數(shù)選項(xiàng)說(shuō)明如下:-Errors錯(cuò)誤文件名 ;指定一個(gè)錯(cuò)誤輸出文件-I目錄[,目錄](méi) ;指定源文件搜索目錄-PreDefine預(yù)定義宏 ;指定預(yù)定義的宏-NOCache ;編譯源代碼時(shí)禁止使用Cache進(jìn)行優(yōu)化-MaxCache<n> ;編譯源代碼時(shí)使用Cache進(jìn)行優(yōu)化-NOWarn ;關(guān)閉所有的警告信息-G ;輸出調(diào)試表-keep ;在目標(biāo)文件中保存本地符號(hào)表-LIttleend ;生成小端(Little-endian)ARM代碼-BIgend ;生成大端(Big-endian)ARM代碼-CPU<target-cpu> ;設(shè)立目標(biāo)板ARM核類型,如:arm920t-16 ;建立16位的thumb指令-32 ;建立32位的ARM指令編譯一個(gè)匯編文件命令示例如下:c:\>armasm-LIttleend-cpuARM920T-32test.s10/31/202335北京大學(xué)出版社出版2.armcc/armcppC/C++編譯器armcc用來(lái)編譯C程序,armcpp用來(lái)編譯C++程序,其命令格式如下:1.命令:armcc[選項(xiàng)]源文件1源文件2...源文件n這兩個(gè)命令的選項(xiàng)說(shuō)明如下:-c ;編譯但是不連接-D ;指定一個(gè)編譯時(shí)使用的預(yù)定義宏常量-E ;僅僅對(duì)C源文件做預(yù)處理-g ;產(chǎn)生調(diào)試信息表-I ;指頭文件的搜索路徑-o<file> ;指定一個(gè)輸出的目標(biāo)文件-O[0/1/2] ;指定源代碼的優(yōu)化級(jí)別-S ;輸出匯編代碼來(lái)代替目標(biāo)文件-CPU<target-cpu> ;設(shè)立目標(biāo)板ARM核類型,如arm920t 編譯一個(gè)C程序命令示例如下:c:\>armcc-c-O1-cpuARM920Ttest.c10/31/202336北京大學(xué)出版社出版3.armlink鏈接器此命令用來(lái)鏈接目標(biāo)文件,其命令格式如下:armlink[選項(xiàng)]輸入文件此命令選項(xiàng)參數(shù)說(shuō)明如下:-partial ;合并目標(biāo)文件-Output文件 ;指定輸出文件名-scatter文件 ;按照指定的文件為可執(zhí)行文件建立內(nèi)存映射-ro-base地址值 ;只讀代碼段的起始地址-rw-base地址值 ;RW/ZI段的起始地址示例c:\>armlink-partialbdmain.obdport.obdserial.obdmmu.obdisr.o-otestd.oc:\>armlinkbd.obdinit.o-scatterbdscf.scf-otest.axf10/31/202337北京大學(xué)出版社出版4.frome
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年精密箱體系統(tǒng)項(xiàng)目評(píng)價(jià)分析報(bào)告
- 2024屆河北廊坊五校高三第二次統(tǒng)考數(shù)學(xué)試題
- 2024屆貴州省畢節(jié)市黔西縣樹(shù)立中學(xué)高三一輪復(fù)習(xí)階段性考試(數(shù)學(xué)試題文)試題
- 采購(gòu)抓捕網(wǎng)申請(qǐng)書范文
- 標(biāo)準(zhǔn)產(chǎn)品和定制產(chǎn)品成本分?jǐn)傆?jì)算服務(wù)合同
- 北京勞動(dòng)合同不續(xù)簽代通知金標(biāo)準(zhǔn)
- 學(xué)校2024-2025學(xué)年度高三上學(xué)期期中考試地理試題
- 配電室火災(zāi)應(yīng)急演練
- 13 C波的描述 提升版2025新課改-高中物理-選修第1冊(cè)(21講)
- 安徽省合肥市高新區(qū)2024-2025學(xué)年四年級(jí)(上)期中語(yǔ)文試卷 (含答案)
- 第五講鑄牢中華民族共同體意識(shí)-2024年形勢(shì)與政策
- 【寒假閱讀提升】四年級(jí)下冊(cè)語(yǔ)文試題-非連續(xù)性文本閱讀(一)-人教部編版(含答案解析)
- 霍去病課件教學(xué)課件
- 郵政儲(chǔ)蓄銀行的2024年度借款合同范本
- 山東省濱州市博興縣2024-2025學(xué)年九年級(jí)上學(xué)期11月期中數(shù)學(xué)試題
- 汽車吊起重吊裝方案
- 外立面改造項(xiàng)目腳手架施工專項(xiàng)方案
- ASTMD638-03中文版塑料拉伸性能測(cè)定方法
- 統(tǒng)編版(2024新版)七年級(jí)上冊(cè)道德與法治期中模擬試卷(含答案)
- 砌筑實(shí)訓(xùn)課程設(shè)計(jì)
- 譯林版(2024新版)七年級(jí)上冊(cè)英語(yǔ)期中復(fù)習(xí):完型及閱讀 練習(xí)題匯編(含答案)
評(píng)論
0/150
提交評(píng)論