版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第 PAGE29 頁 共 NUMPAGES29 頁ARM cote A8嵌入式原理與系統(tǒng)設(shè)計習(xí)題答案ARM cote_ A8嵌入式原理與系統(tǒng)設(shè)計習(xí)題答案 第1章 1.1 什么是嵌入式系統(tǒng)? 嵌入式系統(tǒng)是以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟/硬件可剪裁、適用于對系統(tǒng)功能、可靠性、成本、體積、功耗等有嚴(yán)格要求的專用計算機系統(tǒng)。1.2 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域有哪些? 列舉一些生活中的嵌入式系統(tǒng)實例。嵌入式系統(tǒng)的應(yīng)用領(lǐng)域有交通管理、工控設(shè)備、智能儀器、汽車電子、環(huán)境監(jiān)測、電子商務(wù)、醫(yī)療儀器、移動計算、網(wǎng)絡(luò)設(shè)備、通信設(shè)備、軍事電子、機器人、智能玩具、信息家電等;網(wǎng)絡(luò)設(shè)備: 交換機、路由器、Modem 等。
2、消費電子: 手機、MP3、PDA、可視電話、電視機頂盒、數(shù)字電視、數(shù)碼照相機、數(shù)碼攝像機、信息家電等。辦公設(shè)備: 打印機、傳真機、掃描儀等。汽車電子: ABS (防死鎖制動系統(tǒng))、供油噴射控制系統(tǒng)、車載 GPS 等。工業(yè)控制: 各種自動控制設(shè)備 1.3 嵌入式系統(tǒng)的組成有哪些? 嵌入式系統(tǒng)一般由硬件層,中間層,軟件層三層組成。1.4 嵌入式系統(tǒng)的特點有哪些? 嵌入式系統(tǒng)有以下4個特點:系統(tǒng)內(nèi)核小、專用性強、系統(tǒng)精簡、實時性高。1.5 簡述嵌入式系統(tǒng)的發(fā)展。嵌入式系統(tǒng)具有以下6個發(fā)展趨勢:系統(tǒng)工程化、開化、功能多樣化、節(jié)能化、人性化、網(wǎng)絡(luò)化。1.6 常用的嵌入式處理器分為哪幾類? 常見的嵌入式處
3、理器有一下四類:嵌入式微處理器、嵌入式微控制器、嵌入式 DSP 處理器、嵌入式片上系統(tǒng)。1.7 嵌入式操作系統(tǒng)的特點有哪些? 嵌入式操作系統(tǒng)有以下6個特點:系統(tǒng)內(nèi)核小、專用性強、系統(tǒng)精簡、高實時性、多任務(wù)的操作系統(tǒng)、需要專用開發(fā)工具和環(huán)境。1.8 什么是實時操作系統(tǒng)? IEEE 實時 UNI_ 分委會認(rèn)為實時操作系統(tǒng)應(yīng)具備哪些特點? 實時操作系統(tǒng)是指在限定的時間內(nèi)能對過程調(diào)用產(chǎn)生正確的響應(yīng)的操作系統(tǒng)。IEEE 的實時UNI_分委會認(rèn)為實時操作系統(tǒng)應(yīng)具備以下特點:異步的事件響應(yīng)、切換時間和中斷延遲時間確定、優(yōu)先級中斷和調(diào)度、搶占式調(diào)度、內(nèi)存鎖定、連續(xù)文件、同步。1.9 常用的嵌入式操作系統(tǒng)有哪些
4、? 它們各有什么特點? 操作系統(tǒng) 特點 uCLinu_ 遵守GNU/ GPL,完全開;移植性好;網(wǎng)絡(luò)功能優(yōu)秀;支持多文件系統(tǒng);API接口豐富。Android 良好的平臺開放性、可以實現(xiàn)個性化應(yīng)用設(shè)定和與Google 應(yīng)用的無縫結(jié)合。Windows CE 與Windows 系列有較好的兼容性;能在多種處理器體系結(jié)構(gòu)上運行;采用模塊化設(shè)計;沒有開放代碼;耗費內(nèi)存。V_Works 支持多種處理器;具有先進的網(wǎng)絡(luò)功能;具有良好的可靠性、卓越的實時性、高效的可裁剪性。Nucleus 搶占式多任務(wù)操作系統(tǒng)內(nèi)核;便于移植并且支持多種處理器;核心代碼精簡。uC / OS II 公開代碼;可移植性強;可固化、可
5、裁剪;占先式、多任務(wù);系統(tǒng)任務(wù);中斷管理;穩(wěn)定性和可靠性都很強。QN_ 實時可拓展;內(nèi)核精簡;運行速度快。Linu_ 開的自由操作系統(tǒng);真正的多用戶多任務(wù)操作系統(tǒng);內(nèi)核可剪裁;實時性好;網(wǎng)絡(luò)功能強大;支持目前多數(shù)的處理器;穩(wěn)定性和可靠性都很強。1.10 嵌入式系統(tǒng)工程設(shè)計的要點有哪些? 應(yīng)用需求;硬件要求;實時性的實現(xiàn);系統(tǒng)功耗;系統(tǒng)升級方式;調(diào)試方式;開發(fā)環(huán)境的選擇等。1.11 舉出幾個嵌入式系統(tǒng)應(yīng)用的例子, 通過查資料和獨立思考, 說明這些嵌入式系統(tǒng)產(chǎn)品主要由哪幾部分組成,每個組成部分用于完成什么功能。比較典型的例子:手機。組成部分:處理器:核心處理器;內(nèi)存:操作系統(tǒng),程序運行的存儲空間;
6、閃存:存放操作系統(tǒng),文件等;屏幕:顯示,如果是觸摸屏還有輸入功能;按鍵(非必須):輸入。第2章 2.1 ARM 微處理器及技術(shù)的應(yīng)用領(lǐng)域及主要產(chǎn)品有哪些? 舉一些生活中常用的 ARM 處理器應(yīng)用的例子。ARM微處理器覺得應(yīng)用領(lǐng)域有工業(yè)控制領(lǐng)域、無線通信領(lǐng)域、網(wǎng)絡(luò)應(yīng)用、消費類電子產(chǎn)品、成像和安全產(chǎn)品等。目前絕大多數(shù)的手機、平板采用的處理器都是ARM架構(gòu)corte_-a系列的處理器,而其corte_-m系列在智能設(shè)備也得到廣泛應(yīng)用,小米手環(huán)2就是用的corte_-m4的核。2.2 采用 RISC 架構(gòu)的 ARM 微處理器有哪些特點? 體積小、低功耗、低成本、高性能;支持Thumb (16 位) /
7、 ARM (32 位)雙指令集, 能很好地兼容8位/16位器件;大量使用寄存器;指令執(zhí)行速度更快;大多數(shù)數(shù)據(jù)操作都在寄存器中完成;尋址方式靈活簡單,執(zhí)行效率高;指令長度固定。2.3 ARM內(nèi)核基本版本有哪些? 每個版本都有哪些基本的性能? 內(nèi)核基本版本 基本的性能 V1 版本 基本的數(shù)據(jù)處理指令 (無乘法);基于字節(jié)、半字和字的 Load / Store 指令;轉(zhuǎn)移指令, 包括子程序調(diào)用及鏈接指令;供操作系統(tǒng)使用的軟件中斷指令 SWI;尋址空間: 64 MB。V2 版本 乘法和乘加指令;支持協(xié)處理器操作指令;快速中斷模式;SWP/ SWPB 的最基本存儲器與寄存器交換指令;尋址空間: 64 M
8、B。V3 版本 尋址空間增至 32 位 (4 GB);當(dāng)前程序狀態(tài)信息從原來的 R15 寄存器移到當(dāng)前程序狀態(tài)寄存器CPSR (Current Program Status Register)中;增加了程序狀態(tài)保存寄存器 SPSR (Saved Program Status Register);增加了兩種異常模式,使操作系統(tǒng)代碼可方便地使用數(shù)據(jù)訪問中止異常、指令預(yù)取中止異常和未定義指令異常;增加了 MRS/ MSR 指令, 以訪問新增的 CPSR/ SPSR 寄存器;增加了從異常處理返回的指令功能。V4 版本 有符號和無符號半字及有符號字節(jié)的存/ 取指令;增加了 T 變種, 處理器可工作在 T
9、humb 狀態(tài), 增加了 16 位 Thumb 指令集;完善了軟件中斷 SWI 指令的功能;處理器系統(tǒng)模式引進特權(quán)方式時使用用戶寄存器操作;把一些未使用的指令空間捕獲為未定義指令。V5 版本 新增帶有鏈接和交換的轉(zhuǎn)移 BL_ 指令;新增計數(shù)前導(dǎo)零 CLZ 指令;新增BRK 中斷指令;增加了數(shù)字信號處理指令 (V5TE 版);為協(xié)處理器增加更多可選擇的指令;改進了ARM/ Thumb狀態(tài)之間的切換效率;V6 版本 ThumbTM: 35% 代碼壓縮;DSP 擴充: 高性能定點 DSP 功能;JazelleTM: Java 性能優(yōu)化, 可提高 8 倍;Media 擴充: 音 / 視頻性能優(yōu)化, 可
10、提高 4 倍。V7 版本 首次采用了強大的信號處理擴展集;采用了Thumb-2技術(shù);采用了 NEON技術(shù);支持改良的浮點運算。2.4 ARM 微處理器有哪些系列? 它們有什么特點? 微處理器系列 特點 ARM7微處理器系列 調(diào)試開發(fā)方便;功耗極低;能夠提供0.9MIPS/ MHz的三級流水線結(jié)構(gòu);代碼密度高并兼容16的Thumb指令集;對操作系統(tǒng)的支持廣泛;指令系統(tǒng)與ARM9系列、ARM9E系列和 ARM10E系列兼容,便于用戶的產(chǎn)品升級換代;主頻最高可達(dá)130MIPS。ARM9微處理器系列 5級整數(shù)流水線, 指令執(zhí)行效率更高;提供1.1MIPS/ MHz 的哈佛結(jié)構(gòu);支持32位 ARM指令集
11、和16位Thumb指令集;支持32位的高速AMBA總線接口;全性能的MMU支持多種主流嵌入式操作系統(tǒng);MPU支持實時操作系統(tǒng);支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力 ARM9E微處理器系列 支持DSP指令集;5級整數(shù)流水線;支持32位ARM指令集和16位Thumb指令集;支持32位的高速AMBA總線接口;支持VFP9浮點處理協(xié)處理器;全性能的MMU支持多種主流嵌入式操作系統(tǒng);MPU支持實時操作系統(tǒng);支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力;主頻最高可達(dá)300MIPS。ARM10E微處理器系列 支持DSP指令集;6級整數(shù)流水線;支持32位ARM指
12、令集和16 位Thumb指令集;支持32位的高速AMBA總線接口;支持VFP10浮點處理協(xié)處理器;全性能的MMU,支持多種主流嵌入式操作系統(tǒng);支持?jǐn)?shù)據(jù)Cache和指令Cache, 具有更高的指令和數(shù)據(jù)處理能力;主頻最高可達(dá) 400MIPS;內(nèi)嵌并行讀/寫操作部件 SecurCore微處理器系列 帶有靈活的保護單元, 以確保操作系統(tǒng)和應(yīng)用數(shù)據(jù)的安全;采用軟內(nèi)核技術(shù), 防止外部對其進行掃描探測;可集成用戶自己的安全特性和其他協(xié)處理器。StrongARM微處理器系列 集成度高;在軟件上兼容ARMv4體系結(jié)構(gòu) _scale處理器 全性能、高性價比、低功耗;支持16位的Thumb指令和 DSP指令集。C
13、orte_系列處理器 分為Corte_-M、Corte_-R和Corte_-A三類;Corte_-M系列針對微控制器, 在該領(lǐng)域中需要進行快速且具有高確定性的中斷管理, 同時需將門數(shù)和可能功耗控制在最低;Corte_-R系列針對實時系統(tǒng), 面向深層的嵌入式實時應(yīng)用;Corte_-A面向尖端的基于虛擬內(nèi)存的操作系統(tǒng)和用戶應(yīng)用, 也叫應(yīng)用程序處理器 2.5 在選擇ARM微處理器時要考慮哪些因素? 處理器的基本架構(gòu)與內(nèi)核版本;處理器的性能,功耗;處理器的兼容性;處理器的價格;支持的指令格式;處理器支持的操作系統(tǒng)等因素。2.6 Corte_-A8內(nèi)核結(jié)構(gòu)有哪些組成部分?每個部分各完成什么功能? Cor
14、te_-A8內(nèi)核有以下結(jié)構(gòu)組成:指令讀取單元完成對指令流進行預(yù)測;指令解碼單元對所有ARM指令,Thumb-2指令進行譯碼排序;指令執(zhí)行單元執(zhí)行所有整數(shù) ALl 運算和乘法運算, 并影響標(biāo)志位,根據(jù)要求產(chǎn)生用于存取的虛擬地址以及基本回寫值,將要存放的數(shù)據(jù)格式化, 并將數(shù)據(jù)和標(biāo)志向前發(fā)送,處理分支及其他指令流變化, 并評估指令條件碼;數(shù)據(jù)存取單元包含了全部 L1 數(shù)據(jù)存儲系統(tǒng)和整數(shù)存取流水線;L2 Cache單元包含L2 Cache和緩沖接口單元BIU;NEON單元單元包含一個10段 NEON流水線, 用于譯碼和執(zhí)行高級SIMD多媒體指令集;ETM單元是一個非侵入跟蹤宏單元,可以對指令和數(shù)據(jù)進行
15、跟蹤, 并能對跟蹤信息進行過濾和壓縮;處理器外部接口。2.7 三星S5PV210處理器是基于哪種架構(gòu)的?它主要有哪些特點? 三星S5PV210處理器基于ARM架構(gòu),采用基于ARM V7的Corte_-A8核;有如下特點:低功耗,高性能;主頻可達(dá)1GHz,具有64/32位內(nèi)部總線結(jié)構(gòu),32/32KB的數(shù)據(jù)/指令一級緩存,512KB二級緩存,運算能力可以達(dá)到20_0DMIPS;支持LPDDR1,LPDDR2,DDR2類型RAM;Nandflash,Norflash,OneNand等類型Flash;支持存儲空間最大32G(ROM),最大支持32G的TF卡;包含強大的硬件編解碼功能,內(nèi)建MFC,支持多
16、種格式視頻編解碼;支持IIS、AC97和PCM音頻接口;外部總線模塊支持4路UART串口,3路IIC總線,2路SPI總線。2.8 ARM集成開發(fā)環(huán)境RVDS包含哪幾個模塊?這些模塊各有什么特點? RVDS包含4個模塊: IDE、 RVCT、RVD和RVISS;IDE:將軟件開發(fā)與ARM RealView工具的編譯和調(diào)試技術(shù)結(jié)合在一起??梢杂米黜椖抗芾砥? 為ARM目標(biāo)創(chuàng)建、生成、調(diào)試、監(jiān)視和管理項目。RVCT:業(yè)界最優(yōu)秀的編譯器,支持全系列的ARM和_SCALE架構(gòu),支持匯編、C和C+ 語言,支持二次編譯和代碼數(shù)據(jù)壓縮技術(shù),能夠生成更小的可執(zhí)行文件,節(jié)省ROM空間。RVD:RVD是RVDS中的
17、調(diào)試軟件,功能強大,支持Flash燒寫和多核調(diào)試,支持多種調(diào)試手段,快速錯誤定位 RVISS:RVISS是指令集仿真器,支持外設(shè)虛擬,可以使軟件開發(fā)和硬件開發(fā)同步進行,同時可以分析p 代碼性能,加快軟件開發(fā)速度。2.9 ARM集成開發(fā)環(huán)境RVDS支持哪些處理器和模擬器? RVDS支持以下處理器:ARM7,ARM9,ARM10,ARM11處理器系列;ARM11 MPCore多核處理器;Corte_系列處理器;RealView Debugger中的SecurCore、SC100和SC20_處理器;RVCT 中的SecurCore SC300處理器;RealView Debugger中支持Farad
18、ay FA526、FA626和FA626TE處理器;Marvell Feroceon 88FR和88FR111處理器。RVDS支持以下模擬器:RealView ARMulator指令集模擬器(RVISS);指令集系統(tǒng)模型 (ISSM);RTSM;SoC Designer。2.10 什么是嵌入式系統(tǒng)的交叉開發(fā)環(huán)境? 嵌入式系統(tǒng)充當(dāng)程序的運行環(huán)境而非開發(fā)環(huán)境,因此為了能夠開發(fā)出適合在嵌入式系統(tǒng)運行的程序,就要使用交叉開發(fā)環(huán)境。在一個平臺上開發(fā)出來在另一個平臺運行的程序就是交叉開發(fā)。交叉開發(fā)環(huán)境就是用來在宿主機(通用計算機,通常為PC或工作站)上面生成可以在目標(biāo)機(嵌入式系統(tǒng))運行的程序的開發(fā)環(huán)境。
19、2.11 GCC 交叉編譯器的編譯流程和執(zhí)行過程有哪些? GCC 編譯常見的錯誤類型有哪些? GCC交叉編譯的流程如下:文件(_.c,_.s等)-預(yù)處理(_.i)-編譯(_.S)-匯編(_.o)-鏈接(elf可執(zhí)行文件)-轉(zhuǎn)換(bin文件)GCC編譯常見的錯誤類型有:語法錯誤;頭文件錯誤,找不到代碼中使用的頭文件;內(nèi)建函數(shù)使用錯誤;檔案庫錯誤,找不到庫文件;未定義的符號錯誤等 2.12 嵌入式系統(tǒng)的交叉開發(fā)環(huán)境下有哪些調(diào)試方法? 有以下調(diào)試方法:ROM仿真、在線仿真、在系統(tǒng)編程、JTAG調(diào)試、軟件仿真器等。2.13 Eclipse for ARM 開發(fā)環(huán)境搭建的步驟是什么? 根據(jù)本書介紹搭建
20、Eclipse for ARM 開發(fā)環(huán)境。安裝YAGARTO GCC編譯工具;安裝YAGARTO工具;安裝JRE;安裝Eclipse for ARM;安裝仿真器驅(qū)動和仿真器工具軟件。2.14 在Eclipse for ARM開發(fā)環(huán)境下構(gòu)建一個工程并且編譯調(diào)試工程,學(xué)會Eclipse for ARM的使用。根據(jù)教材內(nèi)容自行操作。第3章 3.1 簡述Corte_ - A8微處理器的幾種工作模式。Corte_-A8處理器有8種模式:用戶模式(usr);系統(tǒng)模式(sys);管理模式(svc);中止模式(abt);未定義模式(und);通用中斷模式(irq);快速中斷模式(fiq);監(jiān)控模式(mon)。
21、3.2 舉例說明Corte_ - A8微處理器的存儲格式。Corte_ - A8處理器支持小端格式和字節(jié)不變的大端格式。此外,處理器還支持混合大小端格式(既有大端格式又有小端格式)和非對齊數(shù)據(jù)訪問。對指令的讀取,則總是以小端格式操作。3.3 簡述機器指令LDR與匯編偽指令的區(qū)別。機器指令LDR用于將存儲器中的32位的字?jǐn)?shù)據(jù)傳送到目標(biāo)寄存器中,使用格式為:LDR條件目的寄存器 而LDR偽指令的作用是將一個值加載到目標(biāo)寄存器中,使用格式為:LDR目的寄存器= 兩者的本質(zhì)的區(qū)別是一個是加載地址中的數(shù)據(jù),一個是加載一個立即數(shù)。LDR偽指令補充了MOV指令加載立即數(shù)限制的不足。3.4 簡述CPSR狀態(tài)寄
22、存器中各有效位的含義。條件標(biāo)志位(N、Z、C、V);Q標(biāo)志位(定用于指示增強的DAP指令是否發(fā)生了溢出);IT塊(用于對thumb指令集中if-then-else這一類語句塊的控制);J位用于表示處理器是否處于ThumbEE狀態(tài);GE3:0(該位用于表示在SIMD指令集中的大于、等于標(biāo)志);E位(控制存取操作的字節(jié)順序);A位(表示異步異常禁止);控制位(中斷禁止位,T位和模式位)。3.5 簡述Corte_ - A8微處理器的異常類型。異常類型 說明 復(fù)位異常 當(dāng)復(fù)位信號產(chǎn)生時,復(fù)位發(fā)生處理器放棄正在執(zhí)行的指令 快速中斷異常FIQ FIQ異常支持快速中斷 中斷異常IRQ 發(fā)生中斷,在快速中斷過
23、程中中斷異常不發(fā)生 中止異常 中止是一種異常,用于告知操作系統(tǒng):與某個值關(guān)聯(lián)的內(nèi)存訪問失效。軟件中斷 進入管理模式 監(jiān)控異常 當(dāng)處理器執(zhí)行SMC指令時, 內(nèi)核進入監(jiān)控模式請求監(jiān)控功能 未定義指令異常 遇到一條處理器或系統(tǒng)協(xié)處理器無法處理的指令時進入 3.6 什么是尋址? 簡述Corte_ - A8微處理器的尋址方式。尋址是根據(jù)指令中給出的地址碼字段來尋找真實操作數(shù)地址的方式;Corte_-A8支持的尋址方式有以下幾種:寄存器尋址(取出寄存器中的值作為操作數(shù))、立即數(shù)尋址(操作數(shù)為明確數(shù)值)、寄存器移位尋址(對操作數(shù)進行移位操作)、寄存器間接尋址(將寄存器中的值作為地址,去改地址中保存的值作為操
24、作數(shù))、變址尋址(在基址寄存器的基礎(chǔ)上加上偏移量,然后將該值作為地址取其地址中的值作為操作數(shù))、多寄存器尋址(一次操作傳送多寄存器的值)、堆棧尋址(堆棧是一種按特定順序進行存?。?、塊拷貝尋址(把一塊數(shù)據(jù)從存儲器的某一位置復(fù)制到另一位置)、相對尋址(變址尋址的一種變通,由程序計數(shù)器(PC)提供基地址,指令中的地址碼字段作為偏移量,兩者相加后得到操作數(shù)的有效地址)等。3.7 編程實現(xiàn)64位加法、64位減法、64位求負(fù)數(shù)功能,結(jié)果放在R1、R0寄存器中。64位加法:R2,R3存放第一個64位數(shù)據(jù) R4,R5存放第二個64位數(shù)據(jù) ADDS R0, R2, R4 :加低32位字 ADC R1, R3,
25、R5 :加高32位字 64位減法 R2,R3存放第一個64位數(shù)據(jù)(被減數(shù))R4,R5存放第二個64位數(shù)據(jù)(減數(shù))SUBS R0, R2, R4 SBC R1, R3, R5 64位求負(fù)數(shù) RSB R0, R2, #0 RSC R1, R3, #0 3.8 B指令、BL指令、BL_指令和B_指令用于實現(xiàn)程序流程的跳轉(zhuǎn),有何異同? B指令只是做簡單的跳轉(zhuǎn);BL指令在跳轉(zhuǎn)之前會將當(dāng)前PC寄存器的值保存在R14寄存器(LR)中,通過LDR PC,LR 語句可以返回跳轉(zhuǎn)前的位置;BL_指令與BL區(qū)別在于跳轉(zhuǎn)的時候切換處理器工作狀態(tài),在ARM狀態(tài)和Thumb狀態(tài)間切換。3.9 簡述匯編語言的程序結(jié)構(gòu)。匯編
26、語言的程序結(jié)構(gòu)由段(section)構(gòu)成;段又分為代碼段和數(shù)據(jù)段;每個匯編程序至少包含一個代碼段,零個或多個包含初值的數(shù)據(jù)段,零個或多個不包含初值的數(shù)據(jù)段。3.10 ALIGN偽操作的指令的作用是什么?什么情況下需要偽操作?在AREA偽操作中有ALIGN屬性,它與單獨的ALIGN偽操作有什么不同? 定義代碼段和數(shù)據(jù)段的對齊方式。當(dāng)某代碼段的地址不是4的整數(shù)倍的時候需要該偽操作。在AREA偽操作中ALIGN屬性的作用范圍只限定于AREA申請的區(qū)域,而單獨的ALIGN作用范圍為該偽操作后面的所有代碼。3.11 如何在C語言程序中內(nèi)嵌匯編程序?如何在匯編程序中訪問C程序變量? 在C語言中使用以下格式
27、來嵌套匯編代碼 _asm /_匯編1_/ /_匯編2_/ . 在匯編程序中訪問C程序變量方式如下:1) 使用IMPORT 偽指令聲明這個全局變量;2) 使用LDR 指令讀取該全局變量的內(nèi)存地址,通常該全局變量的內(nèi)存地址存放在程序的數(shù)據(jù)緩沖池中;3) 根據(jù)該數(shù)據(jù)類型, 使用相應(yīng)的LDR 指令讀取該全局變量的值,使用相應(yīng)的STR 指令修改該全局變量的值。3.12 程序設(shè)計:使用LDR指令讀取0_40003100上的數(shù)據(jù),將數(shù)據(jù)加1,若結(jié)果小于10則使用STR指令把結(jié)果寫回原地址,若結(jié)果大于等于10,則把0寫回原地址。然后再次讀取0_40003100上的數(shù)據(jù),將數(shù)據(jù)加1,判斷結(jié)果是否小于10周而復(fù)始
28、循環(huán)。程序設(shè)計如下:_START: MAIN: LDR R0, =0_40003100 LDR R1, R0 ADD R1, R1, #1 MOV R2, #10 SUBS R3, R1, R2 MOVLT R3,#0 STR R3, R0 B MAIN 第4章 4.1 S5PV210微處理器是哪種封裝形式?這種封裝有什么優(yōu)缺點? S5PV210芯片是584引腳的FCFBGA封裝,引腳間距0.65mm,體積為17_17mm。FCFBGA封裝既能容納較多的管腳,又能保證管腳間距,具有良好的電氣性能。但是對焊裝的要求很高,無法手工焊裝。4.2S5PV210微處理器有多少個GPIO端口?有多少GPI
29、O引腳? S5PV210微處理器有35組GPIO端口,237個GPIO引腳。4.3如何對復(fù)用的GPIO引腳進行配置? 通過設(shè)置該引腳所屬組的端口控制寄存器的相應(yīng)位進行配置其功能,例如GPA0組的第一個端口作為輸入端口則只需要將GPA0CON的0-3位設(shè)置為0000即可。寄存器具體地址以及相應(yīng)位可以查詢芯片手冊。4.4 端口上拉寄存器的功能是什么?何種情況下需要上拉? 端口上拉寄存器控制了每個端口的上拉電阻的允許/禁止;當(dāng)引腳端口作為輸入端口時,需要上拉,用于檢測低電平信號。4.5 如何在C程序中給32位的寄存器中的某幾位置1而不影響其他位的值? 用位或和移位操作實現(xiàn),例如將32位整型數(shù)據(jù)的a位
30、、b位(a、b為整常量)置1,可參考以下代碼:_ |= (112位)時價格很高 并行/串并行比較型 優(yōu)點是轉(zhuǎn)換速率極高,缺點是電路規(guī)模大,價格高 -(Sigma - delta)調(diào)制型 電路的數(shù)字部分基本上容易單片化,容易做到高分辨率 電容陣列逐次比較型 逐次比較型的改進,用低廉的成本制成高精度單片A-D轉(zhuǎn)換器 壓頻變換型 其優(yōu)點是分辨率高、功耗低、價格低,但是需要外部計數(shù)電路 8.7 如何設(shè)置S5PV210微處理器的A-D轉(zhuǎn)換時鐘?若系統(tǒng)主頻為100MHz,且預(yù)分頻比為 65, 則 A-D轉(zhuǎn)換的時鐘頻率為多少? A-D轉(zhuǎn)換頻率 = 100MHz/(65+1) 1.52MHz 8.8 TSDA
31、T_n寄存器是多少位的寄存器?若所使用的A-D配置為12位,如何取出轉(zhuǎn)換完成的12 位A-D輸出數(shù)值? TSDAT_n寄存器是16位寄存器。將TSDAT_n的值讀出來然后位與操作取值,例如:return(TSDAT_n0_fff); 將AD轉(zhuǎn)換的12位數(shù)據(jù)以返回值形式返回。8.9 第8.4節(jié)中的實例,若改為10位A-D轉(zhuǎn)換,應(yīng)如何修改程序? 修改read_adc函數(shù):int read_adc(int ch) /使能預(yù)分頻功能,設(shè)置 A - D 轉(zhuǎn)換器的時鐘 = PCLK/ (65 + 1) TSADCCON0 = (0 0) 0_ff); instr_seqsize + 3 = (char)(
32、source8) 0_ff); instr_seqsize + 4 = (char)(source16) 0_ff); instr_seqsize + 5 = (char)(source24) 0_ff); size += 6; /_3.DMAMOV DAR0設(shè)置目的地址寄存器_/ destination = (unsigned int)dma_dst; instr_seqsize + 0 = (char)(0_bc); instr_seqsize + 1 = (char)(0_2); instr_seqsize + 2 = (char)(destination0) 0_ff); instr_
33、seqsize + 3 = (char)(destination8) 0_ff); instr_seqsize + 4 = (char)(destination16) 0_ff); instr_seqsize + 5 = (char)(destination24) 0_ff); size += 6; /_4.DMAMOV CC0.burst_size 8byte, burst_len 2設(shè)置通道0控制寄存器,地址和目的地址在搬運完一次以后都自動增加,每次搬運8_2=16個字節(jié),都是掛載到A_I接口,因為是內(nèi)存之間的訪問_/ /0000 000 0,00 0001 01,1 1 000 000,
34、 0001 011 1 instr_seqsize + 0 = (char)(0_bc); instr_seqsize + 1 = (char)(0_1);/CCR寄存器 instr_seqsize + 2 = (char)(0_17);/地址遞增,每次讀8個字節(jié),每次2個數(shù)據(jù)傳輸 instr_seqsize + 3 = (char)(0_c0);/ARPROT0:2=0b000,ARCACHE0:2=0b000,目標(biāo)地址遞增,每次寫8字節(jié) instr_seqsize + 4 = (char)(0_5);/每次2個數(shù)據(jù)傳輸,AWPROT0:2=0b000 instr_seqsize + 5 =
35、 (char)(0_0); /AWCACHE0:1,3 =0b000,不交換8位數(shù)據(jù) size += 6; /_5.DMALP LC0設(shè)置要搬運得次數(shù),開始循環(huán)搬運數(shù)據(jù)。數(shù)組大小是48字節(jié)(dam_src48),所以要搬運48除以16等于3次_/ loopnum = 3; instr_seqsize + 0 = (char)(0_20); /lc=0 instr_seqsize + 1 = (char)(loopnum - 1);/ 循環(huán)次數(shù) size += 2; loopstart = size;/需要循環(huán)執(zhí)行的起始位置 /_6.DMALD裝載地址的數(shù)據(jù)到MFIFO數(shù)據(jù)緩沖區(qū)_/ instr
36、_seqsize + 0 = (char)(0_04); size += 1; /_7.DMAST將MFIFO的數(shù)據(jù)存入目的地址_/ instr_seqsize + 0 = (char)(0_08); size += 1; /_8.DMALPEND 0循環(huán)搬運的代碼塊結(jié)束_/ instr_seqsize + 0 = (char)(0_38); instr_seqsize + 1 = (char)(size - loopstart); /記錄循環(huán)結(jié)束的位置 size += 2; /_9.做一個簡單的延時_/ /_9.1 DMALP LC0循環(huán)開始_/ instr_seqsize + 0 = (c
37、har)(0_20); instr_seqsize + 1 = (char)(250); size += 2; loopstart = size; /_9.2 DMANOP循環(huán)執(zhí)行的內(nèi)容,空操作_/ instr_seqsize + 0 = (char)(0_18); size += 1; /_9.3 DMALPEND 0循環(huán)結(jié)束_/ instr_seqsize + 0 = (char)(0_38); instr_seqsize + 1 = (char)(size - loopstart); size += 2; /_10.DMASEV 產(chǎn)生一個中斷,這里要和下面Outp(0_FA20_020,
38、 0_2);一致_/ instr_seqsize + 0 = (char)(0_34); instr_seqsize + 1 = (char)(1 size += 2; /_11.DMAEND 結(jié)束DMAC的控制,這里是存放結(jié)束指令,并非真的結(jié)束,他只是存放一條結(jié)束指令到instr_seqMA_這個數(shù)組_/ instr_seqsize + 0 = (char)(0_0); size += 1; /_12.enable irq注意選對是DMAmem的中斷向量,隸屬于VICO組的18號中斷_/ VIC0VECTADDR18 = (unsigned int)dma_start; /MDMA在vic0
39、的18位 VIC0INTENABLE |= 1所以得使能event_1 Outp(DMA_INTEN, 0_2);/enable DMA_mem 的1號中斷 /_13.DMAGO開始真正的DMA控制搬運數(shù)據(jù)_/ do _ = Inp(DMA_DBGSTATUS);/check DMA_mem DBGSTATUS讀取狀態(tài)寄存器 while (_0_1)=0_1); Outp(DMA_DBGINST0, (0運行Windows CE-定制操作系統(tǒng)-應(yīng)用程序開發(fā)。12.3 BSP和CSP的全稱是什么? 各有什么作用? BSP:Board Support Package 板級支持包,是介于主板硬件和操
40、作系統(tǒng)之間的一層,應(yīng)該說是屬于操作系統(tǒng)的一部分,主要目的是為了支持操作系統(tǒng),使之能夠更好的運行于硬件主板。CSP: Chip support package芯片級支持包,包含了芯片特有的軟件,使操作系統(tǒng)更好的運行于芯片。12.4 Platform Builder的主要功能是什么? 它是用于開發(fā)WindowsCE程序并產(chǎn)生自定義操作系統(tǒng)映像OS的工具。在WindowsCE所有早期版本中,PlatformBuilder工具都是獨立于操作系統(tǒng)的工具,專門支持WindowsCE相關(guān)的開發(fā)。WindowsCE6.0版本中,PlatformBuilder是一個安裝于VisualStudio20_5(VS2
41、0_5)的插件。這個插件可以構(gòu)建BSP(板級支持包)、創(chuàng)建設(shè)備驅(qū)動程序、生成WindowsCE6.0操作系統(tǒng)映像,并導(dǎo)出SDK來支持應(yīng)用程序開發(fā)。12.5 Bootloader的主要作用是什么?它是如何完成這些作用的? Bootloader的主要作用分為3類: 1)初始化硬件設(shè)備,包括內(nèi)存、中斷控制器和MMU等。2)通過串口打印整個Bootloader運行過程中的輸出信息,并提供與用戶交互的接口,用戶可選擇啟動過程和配置相關(guān)參數(shù)。3)下載并執(zhí)行操作系統(tǒng)鏡像。Bootloader位于目標(biāo)設(shè)備的非易失性存儲設(shè)備中,并且在系統(tǒng)加電或重啟時自動執(zhí)行。12.6 什么是SDK? 為什么Windows CE
42、不能像桌面Windows一樣有一個統(tǒng)一的SDK? SDK: Software Development Kit軟件開發(fā)工具包。SDK是為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件時的開發(fā)工具的集合。Windows CE為嵌入式操作系統(tǒng),其硬件平臺不統(tǒng)一,因此不能Windows CE不能像桌面Windows一樣有一個統(tǒng)一的SDK。12.7 簡述Windows CE下中斷處理的流程。接受并提交中斷 -在中斷處理程序結(jié)束之前禁止該中斷 -調(diào)用ISR來響應(yīng)中斷-接受ISR返回值并判斷 -喚醒中斷服務(wù)線程并激活該線程處理相應(yīng)中斷中斷結(jié)束后通知內(nèi)核 -內(nèi)核調(diào)用OMEInterruptDone完
43、成整個中斷并使能所有中斷。12.8 在Visio Studio開發(fā)環(huán)境下創(chuàng)建自己的第一個Windows CE應(yīng)用程序。略 第13章 13.1 什么是嵌入式實時操作系統(tǒng)?Android操作系統(tǒng)屬于嵌入式實時操作系統(tǒng)嗎? 嵌入式實時操作系統(tǒng)(Embedded Real-timeOperation System,RTOS)并不是指它是一種速度很快的操作系統(tǒng),而是指操作系統(tǒng)必須在限定的時間內(nèi),對過程調(diào)用產(chǎn)生正確的響應(yīng)。Android操作系統(tǒng)屬于嵌入式實時操作系統(tǒng)。13.2 Android基本框架的4大部分是什么?它們有什么具體作用? Android系統(tǒng)架構(gòu)采用分層結(jié)構(gòu),從上至下分為4個層次,分別為應(yīng)用程序?qū)?Applications)、應(yīng)用程序框架層(Applica
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 絲線繞線機產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 真空發(fā)生器市場發(fā)展前景分析及供需格局研究預(yù)測報告
- 2024年合肥長豐縣部分單位招聘編制外11人筆試模擬試題及答案解析
- 演講比賽保安工作總結(jié)與觀眾控制計劃
- 學(xué)期總結(jié)與新學(xué)期展望計劃
- 教學(xué)成果展示與分享活動計劃
- 增強員工滿意度的實施方案計劃
- 學(xué)校圖書館使用與推廣計劃
- 如何應(yīng)對經(jīng)濟波動帶來的影響計劃
- 臨床三基理論考試試題及答案
- 大健康產(chǎn)業(yè)互聯(lián)網(wǎng)醫(yī)療服務(wù)創(chuàng)新方案設(shè)計
- 幼兒家庭教育(山東聯(lián)盟)智慧樹知到答案2024年青島濱海學(xué)院
- 2024年安全工程師考試真題及答案
- 公開課課件-《大氣的組成和垂直分層》
- 三年級上冊多位數(shù)乘一位數(shù)豎式計算練習(xí)200道及答案
- 三個和尚幼兒故事課件
- 國家基本公共衛(wèi)生服務(wù)項目規(guī)范(第三版)培訓(xùn)課件
- 互聯(lián)網(wǎng)產(chǎn)品運營策略與用戶增長考核試卷
- 課外古詩詞誦讀-七年級上冊語文教案
- 水文勘測工(中級)技能鑒定考試題庫(濃縮500題)
- T-CNFPIA 4013-2023 人造板企業(yè)清潔生產(chǎn)評價規(guī)范 膠合板
評論
0/150
提交評論