ARM cotex-A8嵌入式原理與系統(tǒng)設(shè)計(jì)習(xí)習(xí)題答案_第1頁
ARM cotex-A8嵌入式原理與系統(tǒng)設(shè)計(jì)習(xí)習(xí)題答案_第2頁
ARM cotex-A8嵌入式原理與系統(tǒng)設(shè)計(jì)習(xí)習(xí)題答案_第3頁
ARM cotex-A8嵌入式原理與系統(tǒng)設(shè)計(jì)習(xí)習(xí)題答案_第4頁
ARM cotex-A8嵌入式原理與系統(tǒng)設(shè)計(jì)習(xí)習(xí)題答案_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第1章 什么是嵌入式系統(tǒng)嵌入式系統(tǒng)是以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟/硬件可剪裁、適用于對系統(tǒng)功能、可靠性、成本、體積、功耗等有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域有哪些 列舉一些生活中的嵌入式系統(tǒng)實(shí)例。嵌入式系統(tǒng)的應(yīng)用領(lǐng)域有交通管理、工控設(shè)備、智能儀器、汽車電子、環(huán)境監(jiān)測、電子商務(wù)、醫(yī)療儀器、移動(dòng)計(jì)算、網(wǎng)絡(luò)設(shè)備、通信設(shè)備、軍事電子、機(jī)器人、智能玩具、信息家電等;網(wǎng)絡(luò)設(shè)備: 交換機(jī)、路由器、Modem 等。消費(fèi)電子: 手機(jī)、MP3、PDA、可視電話、電視機(jī)頂盒、數(shù)字電視、數(shù)碼照相機(jī)、數(shù)碼攝像機(jī)、信息家電等。辦公設(shè)備: 打印機(jī)、傳真機(jī)、掃描儀等。汽車電子: ABS (防死鎖制動(dòng)系

2、統(tǒng))、供油噴射控制系統(tǒng)、車載 GPS 等。工業(yè)控制: 各種自動(dòng)控制設(shè)備 嵌入式系統(tǒng)的組成有哪些嵌入式系統(tǒng)一般由硬件層,中間層,軟件層三層組成。 嵌入式系統(tǒng)的特點(diǎn)有哪些嵌入式系統(tǒng)有以下4個(gè)特點(diǎn):系統(tǒng)內(nèi)核小、專用性強(qiáng)、系統(tǒng)精簡、實(shí)時(shí)性高。 簡述嵌入式系統(tǒng)的發(fā)展。嵌入式系統(tǒng)具有以下6個(gè)發(fā)展趨勢:系統(tǒng)工程化、開源化、功能多樣化、節(jié)能化、人性化、網(wǎng)絡(luò)化。 常用的嵌入式處理器分為哪幾類常見的嵌入式處理器有一下四類:嵌入式微處理器、嵌入式微控制器、嵌入式 DSP 處理器、嵌入式片上系統(tǒng)。 嵌入式操作系統(tǒng)的特點(diǎn)有哪些嵌入式操作系統(tǒng)有以下6個(gè)特點(diǎn):系統(tǒng)內(nèi)核小、專用性強(qiáng)、系統(tǒng)精簡、高實(shí)時(shí)性、多任務(wù)的操作系統(tǒng)、需要

3、專用開發(fā)工具和環(huán)境。 什么是實(shí)時(shí)操作系統(tǒng) IEEE 實(shí)時(shí) UNIX 分委會(huì)認(rèn)為實(shí)時(shí)操作系統(tǒng)應(yīng)具備哪些特點(diǎn)實(shí)時(shí)操作系統(tǒng)是指在限定的時(shí)間內(nèi)能對過程調(diào)用產(chǎn)生正確的響應(yīng)的操作系統(tǒng)。IEEE 的實(shí)時(shí)UNIX分委會(huì)認(rèn)為實(shí)時(shí)操作系統(tǒng)應(yīng)具備以下特點(diǎn):異步的事件響應(yīng)、切換時(shí)間和中斷延遲時(shí)間確定、優(yōu)先級(jí)中斷和調(diào)度、搶占式調(diào)度、內(nèi)存鎖定、連續(xù)文件、同步。 常用的嵌入式操作系統(tǒng)有哪些 它們各有什么特點(diǎn)操作系統(tǒng)特點(diǎn)uCLinux遵守GNU/ GPL,完全開源;移植性好;網(wǎng)絡(luò)功能優(yōu)秀;支持多文件系統(tǒng);API接口豐富。Android良好的平臺(tái)開放性、可以實(shí)現(xiàn)個(gè)性化應(yīng)用設(shè)定和與Google 應(yīng)用的無縫結(jié)合。Windows C

4、E與Windows 系列有較好的兼容性;能在多種處理器體系結(jié)構(gòu)上運(yùn)行;采用模塊化設(shè)計(jì);沒有開放源代碼;耗費(fèi)內(nèi)存。VxWorks支持多種處理器;具有先進(jìn)的網(wǎng)絡(luò)功能;具有良好的可靠性、卓越的實(shí)時(shí)性、高效的可裁剪性。Nucleus搶占式多任務(wù)操作系統(tǒng)內(nèi)核;便于移植并且支持多種處理器;核心代碼精簡。uC / OS II公開源代碼;可移植性強(qiáng);可固化、可裁剪;占先式、多任務(wù);系統(tǒng)任務(wù);中斷管理;穩(wěn)定性和可靠性都很強(qiáng)。QNX實(shí)時(shí)可拓展;內(nèi)核精簡;運(yùn)行速度快。Linux開源的自由操作系統(tǒng);真正的多用戶多任務(wù)操作系統(tǒng);內(nèi)核可剪裁;實(shí)時(shí)性好;網(wǎng)絡(luò)功能強(qiáng)大;支持目前多數(shù)的處理器;穩(wěn)定性和可靠性都很強(qiáng)。 嵌入式系統(tǒng)

5、工程設(shè)計(jì)的要點(diǎn)有哪些應(yīng)用需求;硬件要求;實(shí)時(shí)性的實(shí)現(xiàn);系統(tǒng)功耗;系統(tǒng)升級(jí)方式;調(diào)試方式;開發(fā)環(huán)境的選擇等。 舉出幾個(gè)嵌入式系統(tǒng)應(yīng)用的例子, 通過查資料和獨(dú)立思考, 說明這些嵌入式系統(tǒng)產(chǎn)品主要由哪幾部分組成,每個(gè)組成部分用于完成什么功能。比較典型的例子:手機(jī)。組成部分:處理器:核心處理器;內(nèi)存:操作系統(tǒng),程序運(yùn)行的存儲(chǔ)空間;閃存:存放操作系統(tǒng),文件等;屏幕:顯示,如果是觸摸屏還有輸入功能;按鍵(非必須):輸入。第2章 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)用、消費(fèi)類電子產(chǎn)品、成

6、像和安全產(chǎn)品等。目前絕大多數(shù)的手機(jī)、平板采用的處理器都是ARM架構(gòu)cortex-a系列的處理器,而其cortex-m系列在智能設(shè)備也得到廣泛應(yīng)用,小米手環(huán)2就是用的cortex-m4的核。 采用 RISC 架構(gòu)的 ARM 微處理器有哪些特點(diǎn)體積小、低功耗、低成本、高性能;支持Thumb (16 位) / ARM (32 位)雙指令集, 能很好地兼容8位/16位器件;大量使用寄存器;指令執(zhí)行速度更快;大多數(shù)數(shù)據(jù)操作都在寄存器中完成;尋址方式靈活簡單,執(zhí)行效率高;指令長度固定。 ARM內(nèi)核基本版本有哪些 每個(gè)版本都有哪些基本的性能內(nèi)核基本版本基本的性能V1 版本基本的數(shù)據(jù)處理指令 (無乘法);基于

7、字節(jié)、半字和字的 Load / Store 指令;轉(zhuǎn)移指令, 包括子程序調(diào)用及鏈接指令;供操作系統(tǒng)使用的軟件中斷指令 SWI;尋址空間: 64 MB。V2 版本乘法和乘加指令;支持協(xié)處理器操作指令;快速中斷模式;SWP/ SWPB 的最基本存儲(chǔ)器與寄存器交換指令;尋址空間: 64 MB。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);增加了兩種異常模式,使

8、操作系統(tǒng)代碼可方便地使用數(shù)據(jù)訪問中止異常、指令預(yù)取中止異常和未定義指令異常;增加了 MRS/ MSR 指令, 以訪問新增的 CPSR/ SPSR 寄存器;增加了從異常處理返回的指令功能。V4 版本有符號(hào)和無符號(hào)半字及有符號(hào)字節(jié)的存/ 取指令;增加了 T 變種, 處理器可工作在 Thumb 狀態(tài), 增加了 16 位 Thumb 指令集;完善了軟件中斷 SWI 指令的功能;處理器系統(tǒng)模式引進(jìn)特權(quán)方式時(shí)使用用戶寄存器操作;把一些未使用的指令空間捕獲為未定義指令。V5 版本新增帶有鏈接和交換的轉(zhuǎn)移 BLX 指令;新增計(jì)數(shù)前導(dǎo)零 CLZ 指令;新增BRK 中斷指令;增加了數(shù)字信號(hào)處理指令 (V5TE 版

9、);為協(xié)處理器增加更多可選擇的指令;改進(jìn)了ARM/ Thumb狀態(tài)之間的切換效率;V6 版本ThumbTM: 35% 代碼壓縮;DSP 擴(kuò)充: 高性能定點(diǎn) DSP 功能;JazelleTM: Java 性能優(yōu)化, 可提高 8 倍;Media 擴(kuò)充: 音 / 視頻性能優(yōu)化, 可提高 4 倍。V7 版本首次采用了強(qiáng)大的信號(hào)處理擴(kuò)展集;采用了Thumb-2技術(shù);采用了 NEON技術(shù);支持改良的浮點(diǎn)運(yùn)算。 ARM 微處理器有哪些系列 它們有什么特點(diǎn)微處理器系列特點(diǎn)ARM7微處理器系列調(diào)試開發(fā)方便;功耗極低;能夠提供 MHz的三級(jí)流水線結(jié)構(gòu);代碼密度高并兼容16的Thumb指令集;對操作系統(tǒng)的支持廣泛;

10、指令系統(tǒng)與ARM9系列、ARM9E系列和 ARM10E系列兼容,便于用戶的產(chǎn)品升級(jí)換代;主頻最高可達(dá)130MIPS。ARM9微處理器系列5級(jí)整數(shù)流水線, 指令執(zhí)行效率更高;提供 MHz 的哈佛結(jié)構(gòu);支持32位 ARM指令集和16位Thumb指令集;支持32位的高速AMBA總線接口;全性能的MMU支持多種主流嵌入式操作系統(tǒng);MPU支持實(shí)時(shí)操作系統(tǒng);支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力ARM9E微處理器系列支持DSP指令集;5級(jí)整數(shù)流水線;支持32位ARM指令集和16位Thumb指令集;支持32位的高速AMBA總線接口;支持VFP9浮點(diǎn)處理協(xié)處理器;全性能的MMU支持多

11、種主流嵌入式操作系統(tǒng);MPU支持實(shí)時(shí)操作系統(tǒng);支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力;主頻最高可達(dá)300MIPS。ARM10E微處理器系列支持DSP指令集;6級(jí)整數(shù)流水線;支持32位ARM指令集和16 位Thumb指令集;支持32位的高速AMBA總線接口;支持VFP10浮點(diǎn)處理協(xié)處理器;全性能的MMU,支持多種主流嵌入式操作系統(tǒng);支持?jǐn)?shù)據(jù)Cache和指令Cache, 具有更高的指令和數(shù)據(jù)處理能力;主頻最高可達(dá) 400MIPS;內(nèi)嵌并行讀/寫操作部件SecurCore微處理器系列帶有靈活的保護(hù)單元, 以確保操作系統(tǒng)和應(yīng)用數(shù)據(jù)的安全;采用軟內(nèi)核技術(shù), 防止外部對其進(jìn)行掃描

12、探測;可集成用戶自己的安全特性和其他協(xié)處理器。StrongARM微處理器系列集成度高;在軟件上兼容ARMv4體系結(jié)構(gòu)Xscale處理器全性能、高性價(jià)比、低功耗;支持16位的Thumb指令和 DSP指令集。Cortex系列處理器分為Cortex-M、Cortex-R和Cortex-A三類;Cortex-M系列針對微控制器, 在該領(lǐng)域中需要進(jìn)行快速且具有高確定性的中斷管理, 同時(shí)需將門數(shù)和可能功耗控制在最低;Cortex-R系列針對實(shí)時(shí)系統(tǒng), 面向深層的嵌入式實(shí)時(shí)應(yīng)用;Cortex-A面向尖端的基于虛擬內(nèi)存的操作系統(tǒng)和用戶應(yīng)用, 也叫應(yīng)用程序處理器 在選擇ARM微處理器時(shí)要考慮哪些因素處理器的基本

13、架構(gòu)與內(nèi)核版本;處理器的性能,功耗;處理器的兼容性;處理器的價(jià)格;支持的指令格式;處理器支持的操作系統(tǒng)等因素。 Cortex-A8內(nèi)核結(jié)構(gòu)有哪些組成部分每個(gè)部分各完成什么功能Cortex-A8內(nèi)核有以下結(jié)構(gòu)組成:指令讀取單元完成對指令流進(jìn)行預(yù)測;指令解碼單元對所有ARM指令,Thumb-2指令進(jìn)行譯碼排序;指令執(zhí)行單元執(zhí)行所有整數(shù) ALl 運(yùn)算和乘法運(yùn)算, 并影響標(biāo)志位,根據(jù)要求產(chǎn)生用于存取的虛擬地址以及基本回寫值,將要存放的數(shù)據(jù)格式化, 并將數(shù)據(jù)和標(biāo)志向前發(fā)送,處理分支及其他指令流變化, 并評估指令條件碼;數(shù)據(jù)存取單元包含了全部 L1 數(shù)據(jù)存儲(chǔ)系統(tǒng)和整數(shù)存取流水線;L2 Cache單元包含L

14、2 Cache和緩沖接口單元BIU;NEON單元單元包含一個(gè)10段 NEON流水線, 用于譯碼和執(zhí)行高級(jí)SIMD多媒體指令集;ETM單元是一個(gè)非侵入跟蹤宏單元,可以對指令和數(shù)據(jù)進(jìn)行跟蹤, 并能對跟蹤信息進(jìn)行過濾和壓縮;處理器外部接口。 三星S5PV210處理器是基于哪種架構(gòu)的它主要有哪些特點(diǎn)三星S5PV210處理器基于ARM架構(gòu),采用基于ARM V7的Cortex-A8核;有如下特點(diǎn):低功耗,高性能;主頻可達(dá)1GHz,具有64/32位內(nèi)部總線結(jié)構(gòu),32/32KB的數(shù)據(jù)/指令一級(jí)緩存,512KB二級(jí)緩存,運(yùn)算能力可以達(dá)到2000DMIPS;支持LPDDR1,LPDDR2,DDR2類型RAM;Na

15、ndflash,Norflash,OneNand等類型Flash;支持存儲(chǔ)空間最大32G(ROM),最大支持32G的TF卡;包含強(qiáng)大的硬件編解碼功能,內(nèi)建MFC,支持多種格式視頻編解碼;支持IIS、AC97和PCM音頻接口;外部總線模塊支持4路UART串口,3路IIC總線,2路SPI總線。 ARM集成開發(fā)環(huán)境RVDS包含哪幾個(gè)模塊這些模塊各有什么特點(diǎn)RVDS包含4個(gè)模塊: IDE、 RVCT、RVD和RVISS;IDE:將軟件開發(fā)與ARM RealView工具的編譯和調(diào)試技術(shù)結(jié)合在一起??梢杂米黜?xiàng)目管理器, 為ARM目標(biāo)創(chuàng)建、生成、調(diào)試、監(jiān)視和管理項(xiàng)目。RVCT:業(yè)界最優(yōu)秀的編譯器,支持全系列

16、的ARM和XSCALE架構(gòu),支持匯編、C和C+ 語言,支持二次編譯和代碼數(shù)據(jù)壓縮技術(shù),能夠生成更小的可執(zhí)行文件,節(jié)省ROM空間。RVD:RVD是RVDS中的調(diào)試軟件,功能強(qiáng)大,支持Flash燒寫和多核調(diào)試,支持多種調(diào)試手段,快速錯(cuò)誤定位RVISS:RVISS是指令集仿真器,支持外設(shè)虛擬,可以使軟件開發(fā)和硬件開發(fā)同步進(jìn)行,同時(shí)可以分析代碼性能,加快軟件開發(fā)速度。 ARM集成開發(fā)環(huán)境RVDS支持哪些處理器和模擬器RVDS支持以下處理器:ARM7,ARM9,ARM10,ARM11處理器系列;ARM11 MPCore多核處理器;Cortex系列處理器;RealView Debugger中的SecurC

17、ore、SC100和SC200 處理器;RVCT 中的SecurCore SC300處理器;RealView Debugger中支持Faraday FA526、FA626和FA626TE處理器;Marvell Feroceon 88FR101和88FR111處理器。RVDS支持以下模擬器:RealView ARMulator指令集模擬器(RVISS);指令集系統(tǒng)模型 (ISSM);RTSM;SoC Designer。 什么是嵌入式系統(tǒng)的交叉開發(fā)環(huán)境嵌入式系統(tǒng)充當(dāng)程序的運(yùn)行環(huán)境而非開發(fā)環(huán)境,因此為了能夠開發(fā)出適合在嵌入式系統(tǒng)運(yùn)行的程序,就要使用交叉開發(fā)環(huán)境。在一個(gè)平臺(tái)上開發(fā)出來在另一個(gè)平臺(tái)運(yùn)行的

18、程序就是交叉開發(fā)。交叉開發(fā)環(huán)境就是用來在宿主機(jī)(通用計(jì)算機(jī),通常為PC或工作站)上面生成可以在目標(biāo)機(jī)(嵌入式系統(tǒng))運(yùn)行的程序的開發(fā)環(huán)境。 GCC 交叉編譯器的編譯流程和執(zhí)行過程有哪些 GCC 編譯常見的錯(cuò)誤類型有哪些GCC交叉編譯的流程如下:源文件(*.c,*.s等)->預(yù)處理(*.i)->編譯(*.S)->匯編(*.o)->鏈接(elf可執(zhí)行文件)->轉(zhuǎn)換(bin文件)GCC編譯常見的錯(cuò)誤類型有:語法錯(cuò)誤;頭文件錯(cuò)誤,找不到代碼中使用的頭文件;內(nèi)建函數(shù)使用錯(cuò)誤;檔案庫錯(cuò)誤,找不到庫文件;未定義的符號(hào)錯(cuò)誤等 嵌入式系統(tǒng)的交叉開發(fā)環(huán)境下有哪些調(diào)試方法有以下調(diào)試方法:

19、ROM仿真、在線仿真、在系統(tǒng)編程、JTAG調(diào)試、軟件仿真器等。 Eclipse for ARM 開發(fā)環(huán)境搭建的步驟是什么 根據(jù)本書介紹搭建 Eclipse for ARM 開發(fā)環(huán)境。安裝YAGARTO GCC編譯工具;安裝YAGARTO工具;安裝JRE;安裝Eclipse for ARM;安裝仿真器驅(qū)動(dòng)和仿真器工具軟件。 在Eclipse for ARM開發(fā)環(huán)境下構(gòu)建一個(gè)工程并且編譯調(diào)試工程,學(xué)會(huì)Eclipse for ARM的使用。根據(jù)教材內(nèi)容自行操作。第3章 簡述Cortex - A8微處理器的幾種工作模式。Cortex-A8處理器有8種模式:用戶模式(usr);系統(tǒng)模式(sys);管理模

20、式(svc);中止模式(abt);未定義模式(und);通用中斷模式(irq);快速中斷模式(fiq);監(jiān)控模式(mon)。 舉例說明Cortex - A8微處理器的存儲(chǔ)格式。Cortex - A8處理器支持小端格式和字節(jié)不變的大端格式。此外,處理器還支持混合大小端格式(既有大端格式又有小端格式)和非對齊數(shù)據(jù)訪問。對指令的讀取,則總是以小端格式操作。 簡述機(jī)器指令LDR與匯編偽指令的區(qū)別。機(jī)器指令LDR用于將存儲(chǔ)器中的32位的字?jǐn)?shù)據(jù)傳送到目標(biāo)寄存器中,使用格式為:LDR條件目的寄存器<存儲(chǔ)器地址>而LDR偽指令的作用是將一個(gè)值加載到目標(biāo)寄存器中,使用格式為:LDR目的寄存器=<

21、;立即數(shù)>兩者的本質(zhì)的區(qū)別是一個(gè)是加載地址中的數(shù)據(jù),一個(gè)是加載一個(gè)立即數(shù)。LDR偽指令補(bǔ)充了MOV指令加載立即數(shù)限制的不足。 簡述CPSR狀態(tài)寄存器中各有效位的含義。條件標(biāo)志位(N、Z、C、V);Q標(biāo)志位(定用于指示增強(qiáng)的DAP指令是否發(fā)生了溢出);IT塊(用于對thumb指令集中if-then-else這一類語句塊的控制);J位用于表示處理器是否處于ThumbEE狀態(tài);GE3:0(該位用于表示在SIMD指令集中的大于、等于標(biāo)志);E位(控制存取操作的字節(jié)順序);A位(表示異步異常禁止);控制位(中斷禁止位,T位和模式位)。 簡述Cortex - A8微處理器的異常類型。異常類型說明復(fù)位

22、異常當(dāng)復(fù)位信號(hào)產(chǎn)生時(shí),復(fù)位發(fā)生處理器放棄正在執(zhí)行的指令快速中斷異常FIQFIQ異常支持快速中斷中斷異常IRQ發(fā)生中斷,在快速中斷過程中中斷異常不發(fā)生中止異常中止是一種異常,用于告知操作系統(tǒng):與某個(gè)值關(guān)聯(lián)的內(nèi)存訪問失效。軟件中斷進(jìn)入管理模式監(jiān)控異常當(dāng)處理器執(zhí)行SMC指令時(shí), 內(nèi)核進(jìn)入監(jiān)控模式請求監(jiān)控功能未定義指令異常遇到一條處理器或系統(tǒng)協(xié)處理器無法處理的指令時(shí)進(jìn)入 什么是尋址 簡述Cortex - A8微處理器的尋址方式。尋址是根據(jù)指令中給出的地址碼字段來尋找真實(shí)操作數(shù)地址的方式;Cortex-A8支持的尋址方式有以下幾種:寄存器尋址(取出寄存器中的值作為操作數(shù))、立即數(shù)尋址(操作數(shù)為明確數(shù)值)

23、、寄存器移位尋址(對操作數(shù)進(jìn)行移位操作)、寄存器間接尋址(將寄存器中的值作為地址,去改地址中保存的值作為操作數(shù))、變址尋址(在基址寄存器的基礎(chǔ)上加上偏移量,然后將該值作為地址取其地址中的值作為操作數(shù))、多寄存器尋址(一次操作傳送多寄存器的值)、堆棧尋址(堆棧是一種按特定順序進(jìn)行存?。?、塊拷貝尋址(把一塊數(shù)據(jù)從存儲(chǔ)器的某一位置復(fù)制到另一位置)、相對尋址(變址尋址的一種變通,由程序計(jì)數(shù)器(PC)提供基地址,指令中的地址碼字段作為偏移量,兩者相加后得到操作數(shù)的有效地址)等。 編程實(shí)現(xiàn)64位加法、64位減法、64位求負(fù)數(shù)功能,結(jié)果放在R1、R0寄存器中。64位加法:R2,R3存放第一個(gè)64位數(shù)據(jù)R4,

24、R5存放第二個(gè)64位數(shù)據(jù)ADDS R0, R2, R4:加低32位字ADC R1, R3, R5:加高32位字64位減法R2,R3存放第一個(gè)64位數(shù)據(jù)(被減數(shù))R4,R5存放第二個(gè)64位數(shù)據(jù)(減數(shù))SUBS R0, R2, R4SBC R1, R3, R564位求負(fù)數(shù)RSB R0, R2, #0RSC R1, R3, #0 B指令、BL指令、BLX指令和BX指令用于實(shí)現(xiàn)程序流程的跳轉(zhuǎn),有何異同B指令只是做簡單的跳轉(zhuǎn);BL指令在跳轉(zhuǎn)之前會(huì)將當(dāng)前PC寄存器的值保存在R14寄存器(LR)中,通過LDR PC,LR 語句可以返回跳轉(zhuǎn)前的位置;BLX指令與BL區(qū)別在于跳轉(zhuǎn)的時(shí)候切換處理器工作狀態(tài),在AR

25、M狀態(tài)和Thumb狀態(tài)間切換。 簡述匯編語言的程序結(jié)構(gòu)。匯編語言的程序結(jié)構(gòu)由段(section)構(gòu)成;段又分為代碼段和數(shù)據(jù)段;每個(gè)匯編程序至少包含一個(gè)代碼段,零個(gè)或多個(gè)包含初值的數(shù)據(jù)段,零個(gè)或多個(gè)不包含初值的數(shù)據(jù)段。 ALIGN偽操作的指令的作用是什么什么情況下需要偽操作在AREA偽操作中有ALIGN屬性,它與單獨(dú)的ALIGN偽操作有什么不同定義代碼段和數(shù)據(jù)段的對齊方式。當(dāng)某代碼段的地址不是4的整數(shù)倍的時(shí)候需要該偽操作。在AREA偽操作中ALIGN屬性的作用范圍只限定于AREA申請的區(qū)域,而單獨(dú)的ALIGN作用范圍為該偽操作后面的所有代碼。 如何在C語言程序中內(nèi)嵌匯編程序如何在匯編程序中訪問C

26、程序變量在C語言中使用以下格式來嵌套匯編代碼_asm/*匯編1*/*匯編2*/ .在匯編程序中訪問C程序變量方式如下:1) 使用IMPORT 偽指令聲明這個(gè)全局變量;2) 使用LDR 指令讀取該全局變量的內(nèi)存地址,通常該全局變量的內(nèi)存地址存放在程序的數(shù)據(jù)緩沖池中;3) 根據(jù)該數(shù)據(jù)類型, 使用相應(yīng)的LDR 指令讀取該全局變量的值,使用相應(yīng)的STR 指令修改該全局變量的值。 程序設(shè)計(jì):使用LDR指令讀取0x上的數(shù)據(jù),將數(shù)據(jù)加1,若結(jié)果小于10則使用STR指令把結(jié)果寫回原地址,若結(jié)果大于等于10,則把0寫回原地址。然后再次讀取0x上的數(shù)據(jù),將數(shù)據(jù)加1,判斷結(jié)果是否小于10周而復(fù)始循環(huán)。程序設(shè)計(jì)如下:

27、_START:MAIN:LDR R0, =0XLDR R1, R0ADD R1, R1, #1MOV R2, #10SUBS R3, R1, R2MOVLT R3,#0STR R3, R0B MAIN第4章 S5PV210微處理器是哪種封裝形式這種封裝有什么優(yōu)缺點(diǎn)S5PV210芯片是584引腳的FCFBGA封裝,引腳間距,體積為17x17mm。FCFBGA封裝既能容納較多的管腳,又能保證管腳間距,具有良好的電氣性能。但是對焊裝的要求很高,無法手工焊裝。微處理器有多少個(gè)GPIO端口有多少GPIO引腳S5PV210微處理器有35組GPIO端口,237個(gè)GPIO引腳。如何對復(fù)用的GPIO引腳進(jìn)行配置

28、通過設(shè)置該引腳所屬組的端口控制寄存器的相應(yīng)位進(jìn)行配置其功能,例如GPA0組的第一個(gè)端口作為輸入端口則只需要將GPA0CON的0-3位設(shè)置為0000即可。寄存器具體地址以及相應(yīng)位可以查詢芯片手冊。 端口上拉寄存器的功能是什么何種情況下需要上拉端口上拉寄存器控制了每個(gè)端口的上拉電阻的允許/禁止;當(dāng)引腳端口作為輸入端口時(shí),需要上拉,用于檢測低電平信號(hào)。 如何在C程序中給32位的寄存器中的某幾位置1而不影響其他位的值用位或和移位操作實(shí)現(xiàn),例如將32位整型數(shù)據(jù)的a位、b位(a、b為整常量)置1,可參考以下代碼:x |= (1<<a | 1<<b); 如何在C程序中給32位的寄存器

29、中的某幾位置0而不影響其他位的值用位與和移位操作實(shí)現(xiàn),例如將32位整型數(shù)據(jù)的a位、b位(a、b為整常量)置0,可參考以下代碼:x &= (1<<a | 1<<b); 如何在C程序中編程檢測32位寄存器中的某位是否為1可以通過位與操作判斷,例如判斷a位是否為1示例如下:x &= (1<<a);if(x) /*該位為1*/else /*該位為0*/ 如何在C程序中編程檢測32位寄存器中的某位是否為0可以通過位與操作判斷,例如判斷a位是否為0示例如下:x &= (1<<a);if(!x) /*該位為0*/else /*該位為1*

30、/第5章 隨機(jī)存儲(chǔ)器和只讀存儲(chǔ)器有何區(qū)別隨機(jī)存儲(chǔ)器數(shù)據(jù)掉電易丟失;隨機(jī)存儲(chǔ)器讀寫時(shí)可以從存儲(chǔ)器任意地址處進(jìn)行。只讀存儲(chǔ)器數(shù)據(jù)掉電不丟失。 請解釋 SRAM、 DRAM 和 SDRAM。SRAM(Static Random Access Memory)靜態(tài)隨機(jī)存儲(chǔ)器;DRAM(Dynamic Random Access Memory)動(dòng)態(tài)隨機(jī)存儲(chǔ)器;SDRAM(Synchronous Dynamic Random Access Memory)同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器。 簡述內(nèi)存管理單元的作用。地址存儲(chǔ)單元(MMU)主要有兩個(gè)作用:實(shí)現(xiàn)虛擬地址向物理地址的映射,即管理地址重定位;管理訪問權(quán)限。 試描述A

31、RM存儲(chǔ)器管理的分頁功能和處理流程。ARM存儲(chǔ)管理器將物理地址和虛擬地址都劃分一塊塊的小空間,這種劃分成為分頁;CPU訪問的地址空間為虛擬地址空間,而存儲(chǔ)器對應(yīng)的是物理地址空間。當(dāng)CPU去訪問一個(gè)虛擬地址空間的時(shí)候,如下圖所示,MMU會(huì)找到該虛擬地址空間的所屬頁,然后根據(jù)預(yù)先設(shè)置好的對應(yīng)規(guī)則去尋找相應(yīng)的物理地址的所屬頁,在物理頁的基礎(chǔ)上加上偏移量從而完成虛擬地址向物理地址的映射。一般情況下虛擬地址空間大于物理地址空間,所以有可能多塊虛擬地址映射到同一物理地址,也有可能沒有映射到物理地址,當(dāng)用到該虛擬地址時(shí)才得到映射。MMU處理流程 嵌入式系統(tǒng)的初始化過程包括哪些步驟嵌入式系統(tǒng)初始化包括兩大步:

32、初始化運(yùn)行環(huán)境,初始化應(yīng)用程序。在初始化運(yùn)行環(huán)境的時(shí)候應(yīng)該完成以下工作:標(biāo)識(shí)初始化代碼的入口;設(shè)置異常向量表、中斷向量表; 初始化存儲(chǔ)器系統(tǒng); 初始化堆棧指針; 初始化一些關(guān)鍵的I/O口; 初始化中斷系統(tǒng)需要的RAM變量;使能中斷;如果需要,切換處理器模式;如果需要,切換處理器狀態(tài)。在初始化應(yīng)用程序的時(shí)候應(yīng)該完成以下工作:通過復(fù)制初始化數(shù)據(jù)到可寫數(shù)據(jù)段來初始化非0 可寫數(shù)據(jù);對ZI數(shù)據(jù)段清零;存儲(chǔ)器初始化后,程序控制權(quán)交給應(yīng)用程序的入口,如C運(yùn)行時(shí)庫。 簡述S5PV210微處理器進(jìn)行內(nèi)存映射的機(jī)制。S5PV210的虛擬地址由虛擬頁號(hào)和頁內(nèi)偏移量兩部分組成。MMU根據(jù)虛擬頁號(hào)查找Translat

33、ion Table找到虛擬頁號(hào)對應(yīng)的物理頁,然后加上頁內(nèi)偏移量即可得到虛擬地址對應(yīng)的物理地址。例如如果虛擬地址的頁內(nèi)偏移量為4K,則需要12位來表示,即虛擬地址的低12位表示頁內(nèi)偏移量,其余高20位保存著映射關(guān)系的信息(如段式轉(zhuǎn)化,粗細(xì)頁轉(zhuǎn)化,細(xì)頁轉(zhuǎn)化等轉(zhuǎn)化方式,以及虛擬地址的頁信息,映射方式,訪問控制位等信息)。這些信息可以查閱cortex-a8的手冊。 讀以下程序, 說明程序功能.text.global _start_start: ldr r0, = 0xE2700000 mov r1, #0 str r1, r0 ldr sp, = 0xD0037D80 ;設(shè)置棧,以便調(diào)用 c 函數(shù) l

34、dr r0, = main ldr r1, = 0xD0030000 ;0xd0030000 目標(biāo)地址 ldr r2, = redirt_end cmp r0, r1 beq run_on_dramcopy_loop: ldr r3, r0, #4 ;源 str r3, r1, #4 ;目的 cmp r0, r2 bne copy_looprun_on_dram: ldr pc, = 0xD0030008 ;跳轉(zhuǎn)halt: b halt該段代碼完成的功能是代碼的復(fù)制以及重定位:將以標(biāo)號(hào)main開始到redirt_end這段地址空間的代碼復(fù)制到以0xD0030000(RAM 起始地址)為起始地址

35、的存儲(chǔ)區(qū)域。如果標(biāo)號(hào)main的地址恰好等于0xD0030000就跳過復(fù)制,直接到RAM中去執(zhí)行。 讀以下電路圖, 說明該內(nèi)存單元應(yīng)該如何和 S5PV210 微處理器進(jìn)行硬件連接 如何進(jìn)行虛擬內(nèi)存地址映射(圖略)略第6章 簡述嵌入式系統(tǒng)通過查詢方式和中斷方式獲取數(shù)據(jù)的特點(diǎn)。程序查詢方式:操作簡單,但因?yàn)樘幚砥饕恢辈樵僆/O端口或部件的狀態(tài),所以處理器的效率非常低。中斷方式:CPU在中斷信號(hào)到來時(shí)決定是否處理該中斷,處理完成后返回中斷前的程序,繼續(xù)執(zhí)行效率高,但實(shí)現(xiàn)相對于查詢方式復(fù)雜。 請闡述ARM的異常向量表的結(jié)構(gòu)。在ARM體系中,有7種異常處理。當(dāng)異常發(fā)生時(shí),處理器會(huì)把PC設(shè)置為一個(gè)特定的存儲(chǔ)

36、器地址。這一地址被放在異常向量表中。異常向量表包含一系列不能修改的指令,用以跳轉(zhuǎn)到各異常的響應(yīng)程序。ARM的異常向量表由異常類型對應(yīng)的跳轉(zhuǎn)指令構(gòu)成。 軟中斷指令中的中斷號(hào)可以通過哪幾種方式獲取軟中斷指令中的中斷號(hào)可以通過以下兩種方式獲取:SWI指令后的24位立即數(shù);SWI指令后的24位立即數(shù)被忽略,中斷號(hào)保存在R0寄存器中。 IRQ中斷和FIQ中斷發(fā)生時(shí), 處理器進(jìn)行哪些工作IRQ中斷和FIQ中斷發(fā)生時(shí)的處理步驟如下:1)初始化微處理器中斷有關(guān)的寄存器,開放中斷;2)I/O端口或部件完成數(shù)據(jù)操作后產(chǎn)生中斷請求信號(hào);3)當(dāng)中斷請求信號(hào)有效時(shí),微處理器可能處在不可中斷狀態(tài),等微處理器允許中斷時(shí)保存

37、當(dāng)前狀態(tài),停止它現(xiàn)行的操作并開始進(jìn)行中斷源的識(shí)別;4)在識(shí)別出優(yōu)先級(jí)最高的中斷源后,微處理器轉(zhuǎn)到對應(yīng)的中斷服務(wù)例程入口,并應(yīng)答中斷,I/O端口或部件收到應(yīng)答信號(hào)后,撤銷其中斷請求;5)微處理器讀入或?qū)懗鰯?shù)據(jù),當(dāng)中斷服務(wù)例程結(jié)束后,返回到原來的被中斷程序處繼續(xù)執(zhí)行。 中斷處理完畢后,處理器是如何回到原來的程序斷點(diǎn)處的中斷處理程序中首先應(yīng)該保存現(xiàn)場(中斷之前的現(xiàn)場,包括程序狀態(tài)寄存器(CPSR),PC的指向等);在中斷服務(wù)程序執(zhí)行完畢之后,就要恢復(fù)現(xiàn)場,即重新加載PC,寄存器等。從而回到原來的程序斷點(diǎn)處。事實(shí)上,當(dāng)異常發(fā)生時(shí),分組寄存器R14和SPSR用于保存處理器狀態(tài),異常返回時(shí),SPSR內(nèi)容恢

38、復(fù)到CPSR,連接寄存器R14恢復(fù)到程序計(jì)數(shù)器PC。 什么是向量中斷控制器其主要工作是什么向量中斷控制器(Vectored Interrupt Controller),是中斷控制器的組成部分。S5PV210的中斷控制器有4個(gè)向量中斷控制器(VIC)。向量中斷控制器的主要工作是:支持93個(gè)向量IRQ 中斷;配置中斷優(yōu)先級(jí);硬件中斷優(yōu)先級(jí)屏蔽;產(chǎn)生 IRQ與FIQ;產(chǎn)生軟件中斷;限制訪問特權(quán)模式等。 請解釋中斷優(yōu)先級(jí)仲裁。若嵌入式系統(tǒng)中有多個(gè)中斷源,則這些中斷源必須要進(jìn)行中斷優(yōu)先級(jí)的排列。所謂優(yōu)先級(jí)仲裁,指的是以下兩層含義:1)若有2個(gè)及2個(gè)以上的中斷源同時(shí)提出中斷請求,微處理器先響應(yīng)哪個(gè)中斷源,

39、后響應(yīng)哪個(gè)中斷源。2)若1個(gè)中斷源提出中斷請求,得到響應(yīng)后,又有1個(gè)中斷源提出中斷請求,后來的中斷源能否中斷前一個(gè)中斷源的中斷服務(wù)程序。 在對圖6-1所示硬件電路進(jìn)行中斷編程時(shí),如果沒有在中定義異常向量表,那么中斷能夠正常被響應(yīng)嗎 為什么不能。如果為未定義異常向量表,則CPU跳轉(zhuǎn)到向量入口地址之后不知道接下該執(zhí)行哪里的代碼,無法正確跳轉(zhuǎn)到中斷服務(wù)程序中,因此不能正常響應(yīng)。第7章 簡述通用定時(shí)器工作原理。通用定時(shí)器內(nèi)部工作原理:以一個(gè)N位的加1或減1計(jì)數(shù)器為核心,計(jì)數(shù)器的初始值由初始化編程設(shè)置,計(jì)數(shù)脈沖的來源有系統(tǒng)時(shí)鐘或外部事件脈沖。若編程設(shè)置定時(shí)/ 計(jì)數(shù)器為定時(shí)工作方式時(shí),則N 位計(jì)數(shù)器的計(jì)數(shù)

40、脈沖來源于內(nèi)部系統(tǒng)時(shí)鐘,并經(jīng)過M 分頻。每個(gè)計(jì)數(shù)脈沖使計(jì)數(shù)器加1 或減1,當(dāng)N 位計(jì)數(shù)器里的數(shù)加到0 或減到0 時(shí), 則會(huì)產(chǎn)生一個(gè)“回0 信號(hào)”,該信號(hào)有效時(shí)表示N 位計(jì)數(shù)器里的當(dāng)前值是0。因?yàn)橄到y(tǒng)時(shí)鐘的頻率是固定的, 其M 分頻后所得到的計(jì)數(shù)脈沖頻率也就是固定的,因此通過對該頻率脈沖的計(jì)數(shù)就轉(zhuǎn)換為定時(shí),實(shí)現(xiàn)了定時(shí)功能。若編程設(shè)置定時(shí)/ 計(jì)數(shù)器為計(jì)數(shù)方式時(shí),則N 位計(jì)數(shù)器的計(jì)數(shù)脈沖來源于外部事件產(chǎn)生的脈沖信號(hào)。有一個(gè)外部事件脈沖,則計(jì)數(shù)器加1 或減1,直到N 位計(jì)數(shù)器中的值為0,產(chǎn)生“回0信號(hào)”。 什么是ARM的脈寬調(diào)制定時(shí)器S5PV210有5個(gè)32位雙緩沖脈沖寬度調(diào)制定時(shí)器。配合定時(shí)器計(jì)數(shù)緩

41、沖寄存器TCNTBn和定時(shí)器比較緩沖寄存器TCMPBn,可以很方便地實(shí)現(xiàn)脈寬調(diào)制功能,所以被稱為脈寬調(diào)制定時(shí)器。 如何對S5PV210微處理器的定時(shí)器時(shí)鐘進(jìn)行分頻 定時(shí)時(shí)間如何計(jì)算定時(shí)器0和1共用一個(gè)可編程8位分頻器,該分頻器為PCLK提供第一層分頻,定時(shí)器2,3,4共用一個(gè)不同的8位分頻器。每個(gè)定時(shí)器都有自己的專用時(shí)鐘分頻器提供第二層分頻(又稱分割器,可提供1,2,4,8,16分頻)。定時(shí)時(shí)間=計(jì)數(shù)器初值*定時(shí)器時(shí)鐘頻率。 試編寫定時(shí)器控制蜂鳴器鳴叫頻率和占空比的程序。參考代碼如下:(篇幅有限,在此只給出核心代碼供參考)void timer_init(unsigned long utimer

42、,unsigned long uprescaler,unsigned long udivider,unsigned long utcntb,unsigned long utcmpb)unsigned long temp0;打印沒有啟動(dòng)DMAC之前的dam_dst*/printf("rnThis is first printf dam_dst:rn");printf("%srn",dma_dst);/* SAR0設(shè)置源地址寄存器*/source = (unsigned int)dma_src;instr_seqsize + 0 = (char)(0xbc)

43、;instr_seqsize + 1 = (char)(0x0);instr_seqsize + 2 = (char)(source>>0) & 0xff);instr_seqsize + 3 = (char)(source>>8) & 0xff);instr_seqsize + 4 = (char)(source>>16) & 0xff);instr_seqsize + 5 = (char)(source>>24) & 0xff);size += 6;/* DAR0設(shè)置目的地址寄存器*/destination =

44、 (unsigned int)dma_dst;instr_seqsize + 0 = (char)(0xbc);instr_seqsize + 1 = (char)(0x2);instr_seqsize + 2 = (char)(destination>>0) & 0xff);instr_seqsize + 3 = (char)(destination>>8) & 0xff);instr_seqsize + 4 = (char)(destination>>16) & 0xff);instr_seqsize + 5 = (char)(destination>>24) & 0xff);size += 6;/* CC0. burst_size 8byte, burst_len 2設(shè)置通道0控制寄存器,源地址和目的地址在搬運(yùn)完一次以后都自動(dòng)增加,每次搬運(yùn)8*2=16個(gè)字節(jié),都是掛載到AXI接口,因?yàn)槭莾?nèi)存之間的訪問*/一個(gè)簡單的延時(shí)*/* DM

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論