嵌入式復(fù)習(xí)題(含全部答案)_第1頁(yè)
嵌入式復(fù)習(xí)題(含全部答案)_第2頁(yè)
嵌入式復(fù)習(xí)題(含全部答案)_第3頁(yè)
嵌入式復(fù)習(xí)題(含全部答案)_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

精選文庫(kù)嵌入式系統(tǒng)復(fù)習(xí)題一、填空題:1、試列舉三種主流的嵌入式處理器:( ARM )、( MIPS )、(PowerPC)。2、ARM處理器共有(37)個(gè)寄存器,其中包括(31個(gè)通用寄存器)和(6個(gè)狀態(tài)寄存器)。3、寄存器R13在ARM指令中(堆棧指針SP )。R14也稱(程序連接寄存器LR)在程序里的作用是(程序計(jì)數(shù)器PC的備份)。當(dāng)發(fā)生中斷或異常時(shí),對(duì)應(yīng)分組寄存器分別是(R14_svc、R14_irq、R14_fiq、R14_abt和R14_und用來(lái)保存R15的返回值)。4、ARM微處理器支持兩種指令集:(ARM)和(Thumb)。5、寄存器R15用作(程序計(jì)數(shù)器PC)。該寄存器在ARM狀態(tài)下,(位1:0為00),位31:2用于保存PC;在Thumb狀態(tài)下,(位0為0),位31:1用于保存PC。6、CPSR用作( 狀態(tài)寄存器 ),CPSR可在任何運(yùn)行模式下被訪問(wèn)。每一種運(yùn)行模式下又都有一個(gè)專用的物理狀態(tài)寄存器,稱為(程序狀態(tài)保存寄存器SPSR)。7、Thumb狀態(tài)下的寄存器集是ARM狀態(tài)下寄存器集的一個(gè)子集,程序可以直接訪問(wèn)的通用寄存器是(R0R7,PC,SP,LR,CPSR)。8、ARM指令中條件執(zhí)行功能是通過(guò)( 指令中添加條件碼)來(lái)實(shí)現(xiàn)的,包含的條件碼位于指令的最高(四)位。9、試列舉五種以上常見(jiàn)的嵌入式操作系統(tǒng):(C/OS-II)、(Vxworks)、(WinCE)、(Linux/CLinux)、(PalmOS)。10、計(jì)算機(jī)結(jié)構(gòu)中,哈佛結(jié)構(gòu)和馮?諾依曼結(jié)構(gòu)的主要區(qū)別是(指令與數(shù)據(jù)分開(kāi)),ARM7采用(馮?諾依曼結(jié)構(gòu)),ARM9采用(哈佛結(jié)構(gòu))。11、ARM處理器采用(Thumb指令)操作來(lái)訪問(wèn)SFR。12、在ARM匯編語(yǔ)言程序設(shè)計(jì)中,語(yǔ)句一般是由(指令操作碼)、(指令的條件碼)、(目標(biāo)寄存器編碼)和(包含第一個(gè)操作數(shù)的寄存器編碼)組成。 二、名詞解釋:1、 ARM處理器:先進(jìn)的RISC指令集處理器。廣泛地使用在許多嵌入式系統(tǒng)設(shè)計(jì)。2、交叉編譯:在一種計(jì)算機(jī)環(huán)境中運(yùn)行的編譯程序,能編譯出在另外一種環(huán)境下運(yùn)行的代碼,這個(gè)編譯過(guò)程就叫交叉編譯。3、異常:異是導(dǎo)致程序中斷運(yùn)行的一種指令流。(是指CPU在執(zhí)行指令時(shí)出現(xiàn)的錯(cuò)誤,即不正常的情況。異常是與當(dāng)前所執(zhí)行的程序有關(guān)的,如存取數(shù)據(jù)或指令錯(cuò)誤、計(jì)算結(jié)果溢出等。)4、大端格式:字?jǐn)?shù)據(jù)的高字節(jié)存儲(chǔ)在低地址中,而字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中。5、小端格式:低地址中存放的是字?jǐn)?shù)據(jù)的低字節(jié),高地址存放的是字?jǐn)?shù)據(jù)的高字節(jié)。6、尋址方式:處理器根據(jù)指令中給出的(地址)信息,尋找操作數(shù)(物理地址)的方式。7、嵌入式系統(tǒng):廣義上:凡是不用于通用目的的可編程計(jì)算機(jī)設(shè)備,就可以算是嵌入式計(jì)算機(jī)系統(tǒng)。狹義上而言,嵌入式系統(tǒng)是指以應(yīng)用為核心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,對(duì)功能、可靠性、成本、體積和功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。8、GNU:GNU(GNUs Not Unix),它的目標(biāo)是建立可自由發(fā)布和可移植的類Unix操作系統(tǒng)。9、偽指令:是匯編語(yǔ)言程序里的特殊指令助記符,在匯編時(shí)被合適的機(jī)器指令替代。10、偽操作:為匯編程序所用,在源程序進(jìn)行匯編時(shí)由匯編程序處理,只在匯編過(guò)程起作用,不參與程序運(yùn)行。11、 RTOS :實(shí)時(shí)系統(tǒng),能夠?qū)ν獠渴录龀黾皶r(shí)響應(yīng)的系統(tǒng)。12、 微控制器:俗稱“單片機(jī),它將整個(gè)計(jì)算機(jī)系統(tǒng)集成到一塊芯片中。3、 簡(jiǎn)答題: 1、 請(qǐng)從廣義和狹義兩個(gè)方面簡(jiǎn)述嵌入式系統(tǒng)的含義。答:嵌入式系統(tǒng):Embedded System 廣義上:凡是不用于通用目的的可編程計(jì)算機(jī)設(shè)備,就可以算是嵌入式計(jì)算機(jī)系統(tǒng)。 狹義上:,嵌入式系統(tǒng)是指以應(yīng)用為核心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,對(duì)功能、 可靠性、成本、體積和功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。2、簡(jiǎn)述采用RISC架構(gòu)的ARM微處理器的特點(diǎn)。 a.采用固定長(zhǎng)度的指令格式,指令規(guī)整,簡(jiǎn)單,基本尋址23種。 b.使用單周期指令,便于流水線操作。 c.大量使用寄存器,提高指令的執(zhí)行效率。 d.所有的指令都可以根據(jù)前面的執(zhí)行后,決定是否執(zhí)行從而提高指令的執(zhí)行效率。 e.可以加載/存儲(chǔ)指令,批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率。3、 選擇嵌入式微處理器時(shí),應(yīng)考慮那些因素?a, 調(diào)查市場(chǎng)上已有的CPU供應(yīng)商。b, CPU的處理速度c,技術(shù)指標(biāo)。d,處理器的低功耗。e,處理器的軟件支持工具。f,處理器是否內(nèi)置調(diào)試工具。g,處理器供應(yīng)商是否提供評(píng)估板。h,片內(nèi)存儲(chǔ)容量。4、簡(jiǎn)述嵌入式系統(tǒng)的特點(diǎn)。(1)軟硬件一體化,集計(jì)算機(jī)技術(shù)、微電子技術(shù)、行業(yè)技術(shù)于一體;(2)需要操作系統(tǒng)支持,代碼少,執(zhí)行速度快;(3)系統(tǒng)內(nèi)核小、專用性強(qiáng)、系統(tǒng)精簡(jiǎn)。(4)高實(shí)時(shí)性的系統(tǒng)軟件(OS)是嵌入式軟件的基本要求。(5)嵌入式軟件開(kāi)發(fā)要想走向標(biāo)準(zhǔn)化,就必須使用多任務(wù)的操作系統(tǒng)。(6)嵌入式系統(tǒng)開(kāi)發(fā)需要開(kāi)發(fā)工具和環(huán)境。5、畫(huà)出當(dāng)前主流嵌入式系統(tǒng)的硬件組成結(jié)構(gòu)框圖。6、 比較ARM920T和ARM720T的主要異同。ARM9 5級(jí)流水線 獨(dú)立的指令總線哈佛結(jié)構(gòu) ARM7 3級(jí)流水線 數(shù)據(jù)與指令一起 馮諾依曼結(jié)構(gòu)7、ARM9指令是幾級(jí)流水線,各階段執(zhí)行什么操作?答:ARM9采用5級(jí)流水線。 取指:從指令Cache中讀取指令。 譯碼:對(duì)指令進(jìn)行譯碼,識(shí)別出是對(duì)哪個(gè)寄存器進(jìn)行操作并從通用寄存器中讀取操作數(shù)。 執(zhí)行:進(jìn)行ALU運(yùn)算和移位操作,如果是對(duì)存儲(chǔ)器操作的指令,則在ALU中計(jì)算出要 訪問(wèn)的存儲(chǔ)器地址。 數(shù)據(jù)緩沖:如果是對(duì)存儲(chǔ)器訪問(wèn)的指令,用來(lái)實(shí)現(xiàn)數(shù)據(jù)緩沖功能(通過(guò)數(shù)據(jù)Cache) 回寫(xiě):將指令運(yùn)算或操作結(jié)果寫(xiě)回到目標(biāo)寄存器中。8、寫(xiě)出不少于12類嵌入式產(chǎn)品中的常用接口。UART接口、SPI接口、I2C接口、ADC和觸摸屏接口、USB接口、以太網(wǎng)接口、外存接口、LCD接口、時(shí)鐘接口、PWM接口、中斷接口、JTAG接口、VGA接口、音頻接口9、 若允許FIQ、IRQ中斷,CPSR如何設(shè)置?FIQ: CPSR4:0=0B10001 IRQ: CPSR4:0=0B10010CPSR5=0CPSR6=0CPSR7=010、舉例說(shuō)明ARM的各種尋址方式。寄存器尋址:LDR R1,R2寄存器間接尋址:LDR R1,R2寄存器偏移尋址:LDR R1,R2,-R4,LSL#3立即尋址:LDR,R3,#34多寄存尋址:LDMIA R0,R1,R3,R4,R511、 對(duì)比說(shuō)明ADR、ADRL與LDR的區(qū)別與聯(lián)系。ADR:小范圍的地址讀取偽指令。ADRL:中等范圍的地址讀取偽指令。LDR:大范圍的地址讀取偽指令。ADR偽指令功能:將基于PC相對(duì)偏移的地址值或基于寄存器相對(duì)偏移的地址值讀取到寄存器中。ADRL偽指令功能:將基于PC相對(duì)偏移的地址值或基于寄存器相對(duì)偏移的地址值讀取到寄存器中,比ADR偽指令可以讀取更大范圍的地址。LDR偽指令功能:用于加載32位立即數(shù)或一個(gè)地址值到指定的寄存器。12、(沒(méi)找到)13、 簡(jiǎn)述S3C2410 Nand flash存儲(chǔ)器的啟動(dòng)過(guò)程。(1)完成復(fù)位(2)如果自動(dòng)啟動(dòng)模式使能,NAND Flash存儲(chǔ)器的前4KB自動(dòng)復(fù)制到Steppingstone內(nèi)部緩沖器中(3)Steppingstone映射到nGCS0(4)CPU在Steppingstone的4KB內(nèi)部緩沖器中開(kāi)始執(zhí)行啟動(dòng)代碼14、簡(jiǎn)述Bootloader啟動(dòng)過(guò)程。 第一階段 (1)、基本的硬件設(shè)備初始化 (2)、為階段2代碼準(zhǔn)備RAM空間 (3)、拷貝階段2代碼到RAM空間 (4)、設(shè)置好堆棧 (5)、跳轉(zhuǎn)到階段2的C程序入口點(diǎn) 第二階段 (1)、初始化本階段要使用到的硬件 (2)、檢測(cè)系統(tǒng)內(nèi)存映射(memory map) (3)、將kernel和根文件系統(tǒng)映像從flash讀到RAM空間 (4)、為kernel設(shè)置啟動(dòng)參數(shù) (5)、調(diào)用內(nèi)核15、請(qǐng)簡(jiǎn)述嵌入式軟件Bootloader的兩種工作模式。 (1)啟動(dòng)加載模式:?jiǎn)?dòng)加載模式稱為“自舉”(Autonomous)模式。即Bootloader從目標(biāo)機(jī)上的某個(gè)固態(tài)存儲(chǔ)設(shè)備上將操作系統(tǒng)加載到 RAM 中運(yùn)行,整個(gè)過(guò)程并沒(méi)有用戶的介入。啟動(dòng)加載模式是 Bootloader的正常工作模式,在嵌入式產(chǎn)品發(fā)布的時(shí)侯,Bootloader必須工作在這種模式下。 (2)下載模式:在這種模式下,目標(biāo)機(jī)上的Bootloader將通過(guò)串口連接或網(wǎng)絡(luò)連接等通信手段從主機(jī)下載文件。下載內(nèi)容及存儲(chǔ):主要是下載內(nèi)核映像和根文件系統(tǒng)映像等。從主機(jī)下載的文件通常首先被Bootloader保存到目標(biāo)機(jī)的RAM中,然后再被 Bootloader寫(xiě)到目標(biāo)機(jī)上的FLASH 類固態(tài)存儲(chǔ)設(shè)備中。16、簡(jiǎn)述ARM9處理器的7種運(yùn)行模式。(1)用戶模式(usr):非特權(quán)模式,大部分任務(wù)執(zhí)行在這種模式。(正常程序執(zhí)行的模式)(2)快速中斷模式(fiq):當(dāng)一個(gè)高優(yōu)先級(jí)(fast)中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式。(高速數(shù)據(jù)傳輸或通道處理)(3)外部中斷模式(irq):當(dāng)一個(gè)低優(yōu)先級(jí)(normal)中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式。(通常的中斷處理)(4)管理模式(svc):當(dāng)復(fù)位或軟中斷指令執(zhí)行時(shí)將會(huì)進(jìn)入這種模式。(供操作系統(tǒng)使用的一種保護(hù)模式)(5)中止模式(abt):當(dāng)存取異常時(shí)將會(huì)進(jìn)入這種模式。(虛擬存儲(chǔ)及存儲(chǔ)保護(hù))(6)未定義模式(und):當(dāng)執(zhí)行未定義指令時(shí)會(huì)進(jìn)入這種模式。(軟件仿真硬件協(xié)處理器)(7)系統(tǒng)模式(sys):供需要訪問(wèn)系統(tǒng)資源的操作系統(tǒng)任務(wù)使用。(特權(quán)級(jí)的操作系統(tǒng)任務(wù))17、ARM9處理器的尋址方式有那些? 立即尋址、寄存器尋址、寄存器間接尋址、基址尋址、堆棧尋址 、塊拷貝尋址、相對(duì)尋址18、ARM9有哪些處理器模式?哪些是特權(quán)模式?哪些是異常模式? 異常模式:除用戶模式、系統(tǒng)模式之外的五種模式稱為異常模式。特點(diǎn):以各自的中斷或異常方式進(jìn)入,并且處理各自的中斷或異常。 特權(quán)模式:除用戶模式之外的工作模式又稱為特權(quán)模式 特點(diǎn):應(yīng)用程序可以訪問(wèn)所有的系統(tǒng)資源,可以任意地進(jìn)行處理器模式的切換19、ARM9的7種工作模式中用戶模式為非特權(quán)模式,與特權(quán)模式相比有哪些權(quán)限限制? (1)在用戶模式下,應(yīng)用程序不能訪問(wèn)受操作系統(tǒng)保護(hù)的系統(tǒng)資源,不能進(jìn)行處理器模式的切換。 (2)在特權(quán)模式下,應(yīng)用程序可以訪問(wèn)所有的系統(tǒng)資源,可以任意進(jìn)行處理器模式的切換。20、S3C2410存儲(chǔ)器組織及地址分配。 S3C2410X的存儲(chǔ)器管理器提供訪問(wèn)外部存儲(chǔ)器的所有控制信號(hào):26位地址信號(hào)、32位數(shù)據(jù)信號(hào)、8個(gè)片選信號(hào)、以及讀/寫(xiě)控制信號(hào)等。 S3C2410X的存儲(chǔ)空間分成8組,最大容量是1GB,bank0-bank5為固定128MB,bank6和bank7的容量可編程改變,可以是2、4、8、16、32、64、128MB,并且bank7的開(kāi)始地址與bank6的結(jié)束地址相連接,但是二者的容量必須相等。 bank0可以作為引導(dǎo)ROM,其數(shù)據(jù)線寬只能是16位和32位,復(fù)位時(shí)由OM0、OM1引腳確定;其它存儲(chǔ)器的數(shù)據(jù)線寬可以是8位、16位和32位。 S3C2410X的存儲(chǔ)器格式,可以編程設(shè)置為大端格式,也可以設(shè)置為小端格式。21、ARM7在ARM狀態(tài)下有多少個(gè)寄存器?通常堆棧指針使用哪個(gè)寄存器?連接寄存器LR有什么功能?答: 有37個(gè)32位的寄存器其中31個(gè)為通用寄存器;6個(gè)為狀態(tài)寄存器。 R13:寄存器R13在ARM指令中常用作堆棧指針SP。而在Thumb指令集中,某些指令強(qiáng)制性的要求使用R13作為堆棧指針。 R14:寄存器R14也稱作子程序鏈接寄存器(Subroutine Link Register)或鏈接寄存器LR。當(dāng)執(zhí)行BL子程序調(diào)用指令時(shí),R14中得到R15(程序計(jì)數(shù)器PC)的備份。其他情況下,R14用作通用寄存器。22、嵌入式處理器ARM7/9TDMI中TDMI的基本含義是什么? TDMI的基本含義為(對(duì)其它系列也適用): T: 支持16位壓縮指令集Thumb,稱為T變種 D: 支持片上Debug,稱為D變種 M:內(nèi)嵌硬件乘法器 Multiplier,稱為M變種 I: 嵌入式ICE,支持片上斷點(diǎn)和調(diào)試,稱為I變種23、簡(jiǎn)述馮諾伊曼、哈佛結(jié)構(gòu)的特點(diǎn)(1)馮諾曼結(jié)構(gòu)特點(diǎn): 必須有一個(gè)存儲(chǔ)器;必須有一個(gè)控制器;必須有一個(gè)運(yùn)算器,用于完成算術(shù)運(yùn)算和邏輯運(yùn)算;必須有輸入和輸出設(shè)備,用于進(jìn)行人機(jī)通信。但是,這種指令和數(shù)據(jù)共享同一總線的結(jié)構(gòu),讀取數(shù)據(jù)不能在同一時(shí)刻進(jìn)行,影響了數(shù)據(jù)處理速度的提高。(2)哈佛結(jié)構(gòu)的特點(diǎn) 使用兩個(gè)獨(dú)立的存儲(chǔ)器模塊,分別存儲(chǔ)指令和數(shù)據(jù),每個(gè)存儲(chǔ)模塊都不允許指令和數(shù)據(jù)并存;使用獨(dú)立的兩條總線,分別作為CPU與每個(gè)存儲(chǔ)器之間的專用通信路徑,而這兩條總線之間毫無(wú)關(guān)聯(lián)。24、CPSR各位的含義及作用。 31 30 29 28 27 8 7 6 5 4 3 2 1 0 N Z C V (保留) I F T M4 M3 M2 M1 M0 1、條件碼標(biāo)志位(保存ALU中的當(dāng)前操作信息) N:正負(fù)號(hào)/大小 標(biāo)志位 Z:零標(biāo)志位 C:進(jìn)位/借位/移出位 V:溢出標(biāo)志位 2、控制位 I、F中斷控制位控制允許和禁止中斷 T控制(標(biāo)志)位反映處理器的運(yùn)行狀態(tài) M控制位決定了處理器的運(yùn)行模式25、簡(jiǎn)述ARM9異常的優(yōu)先級(jí) 由高到低依次為: 復(fù)位、數(shù)據(jù)中止、FIQ 、IRQ、預(yù)取中止、未定義指令、SWI;26、ARM處理器支持的數(shù)據(jù)類型有哪些? ARM微處理器支持字節(jié)(8位)、半字(16位)、字(32位)3種數(shù)據(jù)類型,可以表示有符號(hào)數(shù)和無(wú)符號(hào)數(shù)。27、Linux的主要特點(diǎn)有哪些?開(kāi)放性、多用戶、多任務(wù)、良好的用戶界面、設(shè)備獨(dú)立性、豐富的網(wǎng)絡(luò)功能、可靠的安全系統(tǒng)、良好的可移植性。28、Linux常用命令。ls-文件及子目錄名列表cat-連續(xù)顯示cd-改變工作目錄(目錄切換)cp-復(fù)制文件和目錄29、Linux文件系統(tǒng)目錄樹(shù)結(jié)構(gòu)是怎樣的? Linux文件系統(tǒng)是一個(gè)目錄樹(shù)結(jié)構(gòu),最上層是根目錄,其他的所有目錄都是從根目錄出發(fā)而生成的。Linux下,任何一個(gè)目錄都可以是一個(gè)分區(qū)。因此,在分區(qū)時(shí),必須將一個(gè)分區(qū)安裝在樹(shù)根下面。Linux不僅將分區(qū)安裝為一個(gè)目錄,而且還將所有的硬件設(shè)備都安裝成一個(gè)個(gè)設(shè)備文件。對(duì)設(shè)備的操作是通過(guò)文件的操作完成的。30、常用的Bootloader有那些? (1)vivi (2)RedBoot (3)U-Boot 31、Makefile和Make各實(shí)現(xiàn)什么功能? Makefile文件內(nèi)容按照規(guī)則,對(duì)系統(tǒng)中本目錄下的文件(.c、.s、.o、.h、.lib等)根據(jù)相互關(guān)系和要求進(jìn)行組織,設(shè)定各自的編譯方法,指定所生成的目標(biāo)。 Makefile是一種文本格式文件。 Make是Makefile文件的解釋器 Make對(duì)Makefile文件解釋后,生成Linux的shell命令和gcc編譯命令,接著對(duì)命令執(zhí)行,最終生成目標(biāo)文件。 Makefile是工程系統(tǒng)編譯批處理文件。32、ARM有哪兩種工作狀態(tài),怎樣有指令進(jìn)行切換? 從ARM狀態(tài)切換到Thumb狀態(tài) 有兩種情況ARM處理器自動(dòng)切換到Thumb狀態(tài)。 (1)執(zhí)行BX指令,當(dāng)操作數(shù)寄存器的位0為1時(shí),則微處理器從ARM狀態(tài)切換到Thumb狀態(tài)。此為主動(dòng)切換。 (2)當(dāng)處理器處于Thumb狀態(tài)時(shí)發(fā)生異常(如IRQ、FIQ等),處理完異常后,在異常處理返回時(shí),自動(dòng)切換到Thumb狀態(tài)。此為自動(dòng)切換。 從Thumb狀態(tài)切換到ARM狀態(tài) 有兩種情況ARM處理器自動(dòng)切換到Thumb狀態(tài)。 (1)執(zhí)行BX指令,當(dāng)操作數(shù)寄存器的位0為0時(shí),則微處理器從Thumb狀態(tài)切換到ARM狀態(tài)。 (2)當(dāng)處理器在Thumb狀態(tài)時(shí)發(fā)生異常(如IRQ、FIQ等),則處理器從Thumb狀態(tài)自動(dòng)切換到ARM狀態(tài)進(jìn)行異常處理33、熟悉ARM9指令系統(tǒng)、偽指令、偽操作。34、S3C2410有那些數(shù)據(jù)通信接口? UART接口 、SPI接口、IIC接口、JTAG接口、以太網(wǎng)接口、USB接口35、簡(jiǎn)述JTAG借口、串口和以太網(wǎng)接口在一般嵌入式系統(tǒng)調(diào)試中的作用 (1) JTAG一般用于Bootloader等底層程序的調(diào)試,下載; (2)串口是在已有Bootloader/BIOS的前提下用于操作系統(tǒng)的調(diào)試,下載; (3)以太網(wǎng)口是在操作系統(tǒng)內(nèi)核已經(jīng)調(diào)試好了的前提下用于應(yīng)用文件的調(diào)試,下載。36、ARM所有的37個(gè)寄存器,分為哪兩大類? 31個(gè)通用寄存器 和 6個(gè)狀態(tài)寄存器。37、在異常發(fā)生后,ARM9TDMI內(nèi)核會(huì)做哪些工作?在異常發(fā)生后,ARM7TDMI內(nèi)核會(huì)作以下工作:1.在適當(dāng)?shù)腖R中保存下一條指令的地址2.將CPSR復(fù)制到適當(dāng)?shù)腟PSR中; 3.將CPSR模式位強(qiáng)制設(shè)置為與異常類型相對(duì)應(yīng)的值;4.強(qiáng)制PC從相關(guān)的異常向量處取指。38、ARM9處理器有哪些堆棧方式,各堆棧的特點(diǎn)是什么?(1)Full descending 滿遞減堆棧,堆棧首部是高地址,堆棧向低地址增長(zhǎng)。棧指針總是指向堆棧最后一個(gè)元素(最后一個(gè)元素是最后壓入的數(shù)據(jù))。(2)Full ascending 滿遞增堆棧,堆棧首部是低地址,堆棧向高地址增長(zhǎng)。棧指針總是指向堆棧最后一個(gè)元素(最后一個(gè)元素是最后壓入的數(shù)據(jù))。(3)Empty descending 空遞減堆棧,堆棧首部是低地址,堆棧向高地址增長(zhǎng)。棧指針總是指向下一個(gè)將要放入數(shù)據(jù)的空位置。(4)Empty ascending 空遞增堆棧,堆棧首部是高地址,堆棧向低地址增長(zhǎng)。棧指針總是指向下一個(gè)將要放入數(shù)據(jù)的空位置。39、比較Nor Flash 和Nand flash 存儲(chǔ)器的優(yōu)缺點(diǎn) Nor Flash:讀數(shù)據(jù)速度快,而擦寫(xiě)速度慢,容量小,價(jià)格高; Nand flash: 讀數(shù)據(jù)速度不如Nor,但擦寫(xiě)速度快,容量大,價(jià)格低。40、gcc的整個(gè)編譯過(guò)程有哪4個(gè)步驟? 預(yù)處理、編譯、匯編、連接四、編程題:1、編寫(xiě)一個(gè)匯編程序,在ARM程序代碼中調(diào)用Thumb子程序,并返回ARM程序完成其功能。CODE32-BLX TSUB1-CODE16TSUB1-BX R142、將存儲(chǔ)器中0x30000000開(kāi)始的200字節(jié)的數(shù)據(jù),傳送到地址從0x10000000開(kāi)始的某接口電路的存儲(chǔ)區(qū)域。STARTLDR R0,=0X30000000LDR R1,=0X10000000MOV R4,#0LKMLDRB R2,R0,#1STRB R2,R1,#1ADD R4,R4,#1CMP R4,#200BLNE LKMEND3、編寫(xiě)一簡(jiǎn)單ARM匯編程序段,實(shí)現(xiàn)1+2+1000的累加運(yùn)算。MOV R0,#0MOV R1,#0LKMADD R0,R0,#1ADD R1,R1,R0CMP R0,#1000BLNE LKMEND4、將內(nèi)存中從0x30000FFF開(kāi)始的100個(gè)字?jǐn)?shù)據(jù)相加,其結(jié)果存于R3、R2中。LDR R0,=0X30000000MOV R4,#0MOV R2,#0MOV R3,#0LKMLDR R5 , R0,#4ADDS R3, R3,R5ADDC R2, R2,#0ADD R4,R4,#1CMP R4,#100BLNE LKMEND5、 編寫(xiě)一程序,查找存儲(chǔ)器從0x30000000開(kāi)始的100個(gè)字中為0的數(shù)目,將其結(jié)果存到0x30000012中。STARTLDR R0,=0X30000000LDR R1,=0X30000012MOV R3,#0MOV R4,#0LKMLDR R2,R0,#4ADD R3,R3,#1CMP R2,#0ADDEQ R4,R4,#1CMP R3,#100BLNE LKMSTR R4,R1END6、R0和R1中有兩個(gè)32位無(wú)符號(hào)數(shù),若R0R1,則R0R0R1;若R0R1,則R1R1R0;若R0R1,則R1、R0保持不變。CMP R0,R1SUBHS R0,R0,R1SUBCC R1,R1,R07、試編寫(xiě)程序,實(shí)現(xiàn)計(jì)算2468+2N的值。MOV R5,#0MOV R3,#0MOV R4,#0LABLE EQU #0X2300000MOV LABLE,#300LKMADD R3,R3,#2ADD R4,R4,R3ADD R5,R5,#1CMP R5,#LABLEBLNE LKMEND9、編程實(shí)現(xiàn)S3C2410工作模式的切換。MRS R0,CPRSBIC R0,R0,#&1FORR R0,R0,#&12MSR CPSR_C R010、UART初始化編程。STARTLDR R0,=UFCON0LDR R1,=0X0STR R1,R0LDR R0,=ULCON0LDR R1,=0X3STR R1,R0LDR R0,=UCON0LDR R1,=0X245STR R1,R0LDR R0,=PCLKMOV R1,R011、A/D初始化編程; Void AD_Init (unsigned char ch)RADCDLY = 100; RADCTSC = 10; RADCCDN = (114) | (496) | (ch3) | (02) | (01) |(0);12、定時(shí)器初始化編程;ARMADR R0,lable+1BX R0THUMBThumbProg ADR R0,lable BX R0ARM ARM

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論