嵌入式復(fù)習(xí)題(非常全-適合期末復(fù)習(xí))_第1頁(yè)
嵌入式復(fù)習(xí)題(非常全-適合期末復(fù)習(xí))_第2頁(yè)
嵌入式復(fù)習(xí)題(非常全-適合期末復(fù)習(xí))_第3頁(yè)
嵌入式復(fù)習(xí)題(非常全-適合期末復(fù)習(xí))_第4頁(yè)
嵌入式復(fù)習(xí)題(非常全-適合期末復(fù)習(xí))_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGEPAGE5第頁(yè)共25頁(yè)ARM微處理器有7種工作模式,它們分為兩類非特權(quán)模式、特權(quán)模式。其中用戶模式屬于非特權(quán)模式ARM支持兩個(gè)指令集,ARM核因運(yùn)行的指令集不同,分別有兩個(gè)狀態(tài)ARM、Thumb,狀態(tài)寄存器CPSR的T位反映了處理器運(yùn)行不同指令的當(dāng)前狀態(tài)ARM核有多個(gè)寄存器,其中大部分用于通用寄存器,有小部分作為專用寄存器,R15寄存器用于存儲(chǔ)PC,R13通常用來(lái)存儲(chǔ)SP,ARM處理器有兩種總線架構(gòu),數(shù)據(jù)和指令使用同一接口的是馮諾依曼結(jié)構(gòu),數(shù)據(jù)和指令分開(kāi)使用不同接口的是哈佛結(jié)構(gòu)ARM微處理器復(fù)位后,PC的地址通常是0x0,初始的工作模式是Supervisor。ARM微處理器支持虛擬內(nèi)存,它是通過(guò)系統(tǒng)控制協(xié)處理器CP15和MMU(存儲(chǔ)管理部件)來(lái)進(jìn)行虛擬內(nèi)存的存儲(chǔ)和管理。當(dāng)系統(tǒng)發(fā)生數(shù)據(jù)異常和指令領(lǐng)取異常時(shí),異常處理程序透過(guò)嵌入式操作系統(tǒng)的內(nèi)存管理機(jī)制,通過(guò)MMU交換物理內(nèi)存和虛擬內(nèi)存的頁(yè)面,以保證程序正常執(zhí)行。編譯鏈接代碼時(shí),有兩種存儲(chǔ)代碼和數(shù)據(jù)的字節(jié)順序,一種是小端對(duì)齊,另一種是打斷對(duì)齊構(gòu)建嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境的工具鏈有多種,其中開(kāi)放源碼的工具鏈?zhǔn)荊NU工具鏈,ARM公司提供的工具鏈?zhǔn)茿DS工具鏈計(jì)算機(jī)有CISC和RISC兩種類型,以ARM微處理器為核心的計(jì)算機(jī)屬于RISC類型,其指令長(zhǎng)度是定長(zhǎng)的目前使用的嵌入式操作系統(tǒng)主要有哪些?請(qǐng)舉出六種較常用的。WindowsCE/WindowsMobile、VxWork、Linux、uCos、Symbian、QNX任選六2、ARM系統(tǒng)中的堆棧有四種,如下圖。請(qǐng)按圖標(biāo)出四種堆棧的類型。ATPCS編程規(guī)范約定使用的堆棧是哪一種?答:FD、FA、ED、EA。ATPCS編程規(guī)范約定使用的堆棧是FD3、BootLoader在嵌入式系統(tǒng)中主要起什么作用?完成哪些主要的工作?答:BootLoader是在嵌入式系統(tǒng)復(fù)位啟動(dòng)時(shí),操作系統(tǒng)內(nèi)核運(yùn)行前,執(zhí)行的一段程序。通過(guò)BootLoader,初始化硬件設(shè)備,建立內(nèi)存和I/O空間映射圖,為最終加載操作系統(tǒng)內(nèi)核調(diào)整好適當(dāng)?shù)南到y(tǒng)軟硬件環(huán)境。4、搭建嵌入式開(kāi)發(fā)環(huán)境,連接目標(biāo)板,一般使用什么通信接口連接?在Windows主機(jī)上使用什么軟件建立連接?在Linux主機(jī)上使用什么軟件建立連接?答:RS-232,以太網(wǎng)口、并口在Windows主機(jī)上使用超級(jí)終端軟件在Linux主機(jī)上使用Minicom軟件5嵌入式開(kāi)發(fā)環(huán)境主要包括哪些組件?嵌入式系統(tǒng)開(kāi)發(fā)需要交叉編譯和在線調(diào)試的開(kāi)發(fā)環(huán)境,主要包括宿主機(jī)目標(biāo)機(jī)(評(píng)估電路板)基于JTAG的ICD仿真器、或調(diào)試監(jiān)控軟件、或在線仿真器ICE運(yùn)行于宿主機(jī)的交叉編譯器和鏈接器、以及開(kāi)發(fā)工具鏈或軟件開(kāi)發(fā)環(huán)境嵌入式操作系統(tǒng)6在進(jìn)行基于ARM核的嵌入式系統(tǒng)軟件開(kāi)發(fā)時(shí),調(diào)用如下函數(shù):intdo_something(intarg1,void*arg2,chararg3,int*arg4)這四個(gè)參數(shù)通過(guò)什么方式從調(diào)用程序傳入被調(diào)函數(shù)?根據(jù)ATPCS編程規(guī)范,調(diào)用函數(shù)和子程序通過(guò)R0——R3四個(gè)寄存器傳遞參數(shù),超過(guò)四個(gè)參數(shù)使用堆棧傳遞。因此arg1通過(guò)R0傳入,arg2,通過(guò)R1傳入,arg3通過(guò)R2傳入,arg4通過(guò)R3傳入7目前使用的嵌入式操作系統(tǒng)主要有哪些?請(qǐng)舉出六種較常用的。WindowsCE/WindowsMobile、VxWork、Linux、uCos、Symbian、QNX任選六寫一條ARM指令,完成操作r1=r2*3(4分)ADDR1,R2,R2,LSL#1初始值R1=23H,R2=0FH執(zhí)行指令BICR0,R1,R2,LSL#1后,寄存器R0,R1的值分別是多少?(4分)R0=21H,R1=23H3、說(shuō)明指令STMIA r12!,{r0-r11}的操作功能。(4分)將R0-R11十二個(gè)寄存器中的32位數(shù)據(jù),存儲(chǔ)到R12地址指針為起始地址的內(nèi)存中,地址的操作方式是先操作、后增加,并更新地址。4、寫一段ARM匯編程序:循環(huán)累加隊(duì)列myarray中的所有元素,直到碰上零值元素,結(jié)果放在r4中。程序框架如下,補(bǔ)充代碼完成上述功能。(8分) AREAtotal,CODEREADONLY ENTRYstart MOV r4,#0 ADR r0,myarray;在此補(bǔ)充代碼loopLDRr1,[r0],#4 ADD r4,r4,r1CMP r1,#0BNE loop7、哈佛體系結(jié)構(gòu)數(shù)據(jù)空間和地址空間(分開(kāi)),ARM7TDMI采用(馮諾依曼體系)的內(nèi)核架構(gòu)。8.ARM7TDMI采用(3)級(jí)流水線結(jié)構(gòu),ARM920TDMI采用(5)級(jí)流水線。9.按操作系統(tǒng)的分類可知,Dos操作系統(tǒng)屬于順序執(zhí)行操作系統(tǒng),Unix操作系統(tǒng)屬于(分時(shí))操作系統(tǒng),VxWorks屬于(實(shí)時(shí)嵌入式)操作系統(tǒng)。10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(在片可調(diào)試),M表示內(nèi)嵌乘法器Multiplier,I表示(嵌入式ICE),支持在線斷點(diǎn)和調(diào)試。二、選擇題(請(qǐng)將答案填入題后括號(hào)中):共10小題,每小題2分,滿分20分。1、要使CPU能夠正常工作,下列哪個(gè)條件不是處理器必須滿足的。 (D)(A)處理器的編譯器能夠產(chǎn)生可重入代碼 (B)在程序中可以找開(kāi)或者關(guān)閉中斷(C)處理器支持中斷,并且能產(chǎn)生定時(shí)中斷 (D)有大量的存儲(chǔ)空間2、下面哪種操作系統(tǒng)最方便移植到嵌入式設(shè)備中。 (D)(A)DOS (B)unix(C)Windowsxp (D)linux3、下面哪個(gè)選項(xiàng)不是SUB設(shè)備的特點(diǎn)。(B)(A)串行通信方式(B)不可熱撥插(C)分HOST、DEVICE和HUB (D)通信速率比RS232快4、下面哪種嵌入式操作系統(tǒng)很少用于手機(jī)終端設(shè)備上。 (C)(A)Symbian (B)WinCE(C)uc/os (D)linux5、以下哪項(xiàng)關(guān)于SRAM和DRAM的區(qū)別是不對(duì) 。 (A)(A)SRAM比DRAM慢(B)SRAM比DRAM耗電多(C)DRAM存儲(chǔ)密度比SRAM高得多 (D)DRM需要周期性刷新6、uc/os操作系統(tǒng)不包含以下哪幾種狀態(tài)。 (C)(A)運(yùn)行 (B)掛起(C)退出 (D)休眠7、0x07&0x11的運(yùn)算結(jié)果是。進(jìn)行的是與操作 (A)(A)0x01 (B)0x11(C)0x17 (D)0x078、以下哪種方式不是uc/os操作系統(tǒng)中任務(wù)之間通信方式。 (C)(A)信號(hào)量 (B)消息隊(duì)列(C)郵件 (D)郵箱9、以下哪種方式不是文件系統(tǒng)的格式。 (B)(A)FAT (B)DOS(C)NTFS (D)Ext10、在將uc/os操作系統(tǒng)移植到ARM處理器上時(shí),以下哪些文件不需要修改。 (A)(A)OS_CORE.C (B)include.h(C)OS_CPU.H (D)OSTaskInit三、判斷題:共5小題,每小題2分,滿分10分。1、所有的電子設(shè)備都屬于嵌入式設(shè)備。 (F)2、馮諾依曼體系將被哈佛總線所取代。 (F)3、嵌入式linux操作系統(tǒng)屬于免費(fèi)的操作系統(tǒng)。 (T)4、移植操作系統(tǒng)時(shí)需要修改操作系統(tǒng)中與處理器直接相關(guān)的程序。 (T)5、USB2.0的最大通信速率為12M/S。 (F)簡(jiǎn)答題:共2小題,每小題10分,滿分20分。根據(jù)嵌入式系統(tǒng)的特點(diǎn),寫出嵌入式系統(tǒng)的定義。以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟硬件可裁減、功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)試分析實(shí)時(shí)操作系統(tǒng)的工作狀態(tài)特點(diǎn)及相互之間的轉(zhuǎn)換。運(yùn)行:獲得CPU的控制權(quán);就緒:進(jìn)入任務(wù)等待隊(duì)列,通過(guò)調(diào)度中轉(zhuǎn)為運(yùn)行狀態(tài);掛起:任務(wù)發(fā)生阻塞,稱出任務(wù)等待隊(duì)列,等待系統(tǒng)實(shí)時(shí)事件的發(fā)生而被喚醒,從而轉(zhuǎn)為就緒或者運(yùn)行;休眠:任務(wù)完成或者錯(cuò)誤等原因被清除的任務(wù),也可以認(rèn)為是系統(tǒng)中不存在的任務(wù)。多任務(wù)四、分析計(jì)算題:共2小題,每小題10分,滿分20分。1、試寫搶占式和非搶占式的區(qū)別。執(zhí)行的過(guò)程中對(duì)中斷處理方式不一樣,搶先式:某一中斷執(zhí)行完成后,如果有更高優(yōu)先級(jí)的任務(wù)處于就緒狀態(tài),將執(zhí)行更高優(yōu)先級(jí)任務(wù),而非搶占式不一樣,一個(gè)任務(wù)只有主動(dòng)放棄CPU的控制權(quán),其它任務(wù)才能夠獲得CPU的控制權(quán)。2、從嵌入式系統(tǒng)底層到上層應(yīng)用軟件,試分析嵌入式計(jì)算系統(tǒng)的組成主要分為哪幾個(gè)部分,并寫出各部分所完成的功能。(1)硬件層;(2)中間層(嵌入式系統(tǒng)初始化,硬件相關(guān)的驅(qū)動(dòng)程序);(3)軟件層(操作系統(tǒng)、文件系統(tǒng)、GUI,網(wǎng)絡(luò)及通用組件);(4)功能層。五、專業(yè)名詞解釋(寫出以下英文簡(jiǎn)寫對(duì)應(yīng)的中文名稱):共5小題,每小題2分,滿分10分。(1)RTOS (2)CISC(3)Kernel (4)Scheduler(5)non-preemptive (1)RTOS(實(shí)時(shí)操作系統(tǒng)); (2)CISC(復(fù)雜指令集);(3)Kernel(內(nèi)核) (4)Scheduler(調(diào)度)(5)non-preemptive(非搶先式) 1.請(qǐng)簡(jiǎn)述嵌入式系統(tǒng)的設(shè)計(jì)過(guò)程。嵌入式系統(tǒng)得設(shè)計(jì)過(guò)程:(1)系統(tǒng)定義與需求分析(2)系統(tǒng)設(shè)計(jì)方案的初步確立(3)初步設(shè)計(jì)方案性價(jià)比評(píng)估與方案評(píng)審論證(4)完善初步方案、初步方案實(shí)施(5)軟硬件集成測(cè)試(6)系統(tǒng)功能性能測(cè)試及可靠性測(cè)試2.簡(jiǎn)述ARM處理器的工作狀態(tài)。ARM處理器的工作狀態(tài):(1)ARM狀態(tài):32位,ARM狀態(tài)下執(zhí)行字對(duì)準(zhǔn)的32位ARM指令;(2)Thumb狀態(tài):16位,Thumb狀態(tài)下執(zhí)行半字對(duì)準(zhǔn)的16位Thumb指令。在Thumb狀態(tài)下,程序計(jì)數(shù)器PC使用位1選擇另一個(gè)半字。3.簡(jiǎn)述ARM處理器的7種運(yùn)行模式及各自的用途。ARM處理器的7種運(yùn)行模式:(1)用戶模式:正常用戶模式,程序正常執(zhí)行模式。(2)FIQ模式:處理快速中斷,支持高速數(shù)據(jù)傳送或通道處理。(3)IRQ模式:處理普通中斷。(4)SVC模式:操作系統(tǒng)保護(hù)模式,處理軟件中斷。(5)中止模式:處理存儲(chǔ)器故障,實(shí)現(xiàn)虛擬存儲(chǔ)器和存儲(chǔ)器保護(hù)。(6)未定義模式:處理未定義的指令陷阱,支持硬件協(xié)處理器的軟件仿真。(7)系統(tǒng)模式:運(yùn)行特權(quán)操作系統(tǒng)任務(wù)。4.簡(jiǎn)述BLX、SWI、STM、LDM、MOV、MVN的含義。BLX:帶鏈接和狀態(tài)切換的跳轉(zhuǎn)指令SWI:軟件中斷指令STM:批量?jī)?nèi)存字寫入指令LDM:加載多個(gè)寄存器指令MOV:數(shù)據(jù)傳送指令MVN:數(shù)據(jù)取反傳送指令5.請(qǐng)解釋下列程序中的各條指令:

.equx,45/*定義變量x,并賦值為45*/.equy,64/*定義變量y,并賦值為64*/.equstack_top,0x1000/*定義棧頂0x1000*/.global_start/*聲明全局變量*/.text/*將操作符開(kāi)始的代碼編譯到代碼段*/_start:/*程序代碼開(kāi)始標(biāo)志*/movsp,#stack_top/*定義堆棧位置*/movr0,#x/*x的值放入r0*/strr0,[sp]/*r0的值保存到堆棧*/movr0,#y/*y的值放入r0*/ldrr1,[sp]/*取堆棧中的數(shù)到r1*/addr0,r0,r1/*將r0中的數(shù)和r1中的數(shù)相加的結(jié)構(gòu)放入r0*/strr0,[sp]/*r0的值保存到堆棧*/stop:bstop/*程序結(jié)束,進(jìn)入死循環(huán)*/.end6.分析說(shuō)明S3C44B0X的總線優(yōu)先級(jí)順序。(1)DRAMrefreshcontroller(DRAM刷新控制器);(2)LCD_DMA(3)ZDMA0,1(4)BDMA0,1(5)Externalbusmaster(外部總線控制器);(6)Writebuffer(寫緩沖區(qū))(7)Cache和CPU。7.S3C44B0X中具有哪幾個(gè)定時(shí)器?分別有哪些功能特性?6個(gè)16位定時(shí)器:都可以工作在中斷或DMA模式。定時(shí)器0、1、2、3、4有PWM功能,定時(shí)器5只是一個(gè)內(nèi)部定時(shí)器而無(wú)輸出引腳。PWM定時(shí)器特性為:6個(gè)基于DMA或中斷操作的16位定時(shí)器3個(gè)8位預(yù)分頻器,2個(gè)5位除法器和1個(gè)4位除法器。輸出波形可編程的功率控制器(PWM)自動(dòng)重裝或短脈沖模式(One-shotPulseMode)死區(qū)發(fā)生器1個(gè)看門狗定時(shí)器:看門狗定時(shí)器具有以下特性:帶中斷請(qǐng)求的普通間隔定時(shí)器模式當(dāng)定時(shí)器計(jì)數(shù)值達(dá)到0時(shí),內(nèi)部復(fù)位信號(hào)被激活128MCLK周期8.S3C44B0X中功耗管理的5種模式是什么?S3C44B0X中功耗管理的5種模式:正常模式:正常運(yùn)行模式;低速模式:不加PLL的低時(shí)鐘頻率模式;空閑模式:只停止CPU的時(shí)鐘;停止模式:停止所有的時(shí)鐘;LCD的SL空閑模式:SL空閑模式的進(jìn)入將導(dǎo)致LCD控制器開(kāi)始工作。此時(shí),CPU和除LCD控制器外的所有外設(shè)都停止工作。9.簡(jiǎn)述BootLoader的作用。Bootloader作用:系統(tǒng)引導(dǎo)程序,負(fù)責(zé)Linux內(nèi)核的啟動(dòng),用于初始化系統(tǒng)資源,包括SDRAM。這部分代碼用于建立Linux內(nèi)核運(yùn)行環(huán)境和從Flash中裝載初始化Ramdisk等。它首先完成系統(tǒng)硬件的初始化,包括時(shí)鐘的設(shè)置、存儲(chǔ)區(qū)的映射、堆棧指針的設(shè)置等;然后跳轉(zhuǎn)到操作系統(tǒng)內(nèi)核的入口,將系統(tǒng)控制權(quán)交給操作系統(tǒng)。10.寫出S3C44B0X的UART1的初始化設(shè)置程序代碼。UART初始化程序:staticintwhichUart=0;voidUart_Init(intmclk,intbaud){inti;If(mclk==0)mclk=MCLK;rUFCON1=0x0;rUMCON1=0x0;rULCON1=0x3;rUCON1=0x245;rUBRDIC1=((int)(mclk/16./baud+0.5)-1);for(i=0;i<100;i++);}11ARM常見(jiàn)的尋址方式有哪些?立即尋址寄存器尋址寄存器間接尋址基址加偏址尋址堆棧尋址塊拷貝尋址相對(duì)尋址12嵌入式系統(tǒng)軟件的層次結(jié)構(gòu)并簡(jiǎn)要介紹?嵌入式系統(tǒng)軟件的層次結(jié)構(gòu):驅(qū)動(dòng)層程序:驅(qū)動(dòng)層程序是嵌入式系統(tǒng)中不可缺少的重要部分,使用任何的外部設(shè)備都需要有相應(yīng)驅(qū)動(dòng)層程序的支持,他為上層軟件提供了設(shè)備的操作接口。驅(qū)動(dòng)層程序一般包括硬件抽象層HAL、板極支持包BSP和設(shè)備驅(qū)動(dòng)程序。實(shí)時(shí)操作系統(tǒng)RTOS:對(duì)于使用操作系統(tǒng)得嵌入式系統(tǒng)而言,操作系統(tǒng)一般以內(nèi)核映像的形式下載到目標(biāo)系統(tǒng)中。內(nèi)核中通常必需的基本部件是進(jìn)城管理、進(jìn)程間通信、內(nèi)存管理部分,其他部件如文件系統(tǒng)、驅(qū)動(dòng)程序、網(wǎng)絡(luò)協(xié)議等都可以根據(jù)用戶要求進(jìn)行配置,并以相關(guān)的方式實(shí)現(xiàn)。這樣一來(lái),整個(gè)嵌入式系統(tǒng)與通用操作系統(tǒng)類似,功能比不帶有操作系統(tǒng)得嵌入式強(qiáng)大了很多。操作系統(tǒng)的應(yīng)用程序接口API:API是一系列復(fù)雜的函數(shù)、消息和結(jié)構(gòu)的集合體。在計(jì)算機(jī)系統(tǒng)中有很多可通過(guò)硬件或外部設(shè)備去執(zhí)行的功能,這些功能的執(zhí)行可通過(guò)計(jì)算機(jī)操作系統(tǒng)或硬件預(yù)留的標(biāo)準(zhǔn)指令調(diào)用。因而系統(tǒng)提供標(biāo)準(zhǔn)的API函數(shù),可加快用戶應(yīng)用程序的開(kāi)發(fā),統(tǒng)一應(yīng)用程序的開(kāi)發(fā)標(biāo)準(zhǔn),也為操作系統(tǒng)版本的升級(jí)帶來(lái)了方便。應(yīng)用程序:用戶應(yīng)用程序主要通過(guò)調(diào)用系統(tǒng)的API函數(shù)對(duì)系統(tǒng)進(jìn)行操作,完成用戶應(yīng)用功能開(kāi)發(fā)。13試述兩種常見(jiàn)的ARM開(kāi)發(fā)環(huán)境及其特點(diǎn)??jī)煞N常見(jiàn)的ARM開(kāi)發(fā)環(huán)境及其特點(diǎn):ADS/SDTIDE開(kāi)發(fā)環(huán)境:它由ARM公司開(kāi)發(fā),使用了CodeWarrior公司的編譯器;集成了GNU開(kāi)發(fā)工具的IDE開(kāi)發(fā)環(huán)境:它由GNU的匯編器as、交叉編譯器gcc、和鏈接器ld等組成。14:S3C44B0XI2C總線接口操作有那四種操作方式?S3C44B0XI2C總線接口操作的四種操作模式:主傳送模式主接收模式從傳送模式從接收模式15:嵌入式系統(tǒng)的發(fā)展趨勢(shì)即將迎來(lái)以ARM為核心的32位浪潮嵌入式系統(tǒng)應(yīng)用的高低端:以4位、8位單片機(jī)或?yàn)榭刂破鳎∕CU)為核心的嵌入式系統(tǒng),早已廣泛的應(yīng)用于工業(yè)控制、軍事、航空航天、家電等各個(gè)領(lǐng)域,極大地推動(dòng)了IT技術(shù)的發(fā)展。目前這些屬于最低端應(yīng)用的嵌入式系統(tǒng)。這些低端應(yīng)用市場(chǎng)范圍非常廣泛,局部帶動(dòng)了低端應(yīng)用。即將來(lái)臨的32位浪潮:隨著嵌入式系統(tǒng)的不斷發(fā)展,當(dāng)應(yīng)用越來(lái)越復(fù)雜、使用范圍越來(lái)越廣時(shí),8位處理器已經(jīng)無(wú)法滿足的需要,此時(shí)32位SoC為高性能嵌入式系統(tǒng)開(kāi)發(fā)提供了功能豐富的硬件平臺(tái),也為實(shí)時(shí)嵌入式操作系統(tǒng)的廣泛應(yīng)用提供了硬件基礎(chǔ)。因此,以32位處理器作為高性能嵌入式系統(tǒng)開(kāi)發(fā)的核心已是嵌入式技術(shù)發(fā)展的必然趨勢(shì)。32位向ARM轉(zhuǎn)移,形成ARM市場(chǎng)主導(dǎo)地位:在嵌入式微處理器中,雖然有多種嵌入式處理器可供選擇,但是ARM處理器核以其低功耗、高性能等突出優(yōu)點(diǎn)已在32位嵌入式應(yīng)用中穩(wěn)居第一。ARM已成為移動(dòng)通信、手持計(jì)算、多媒體數(shù)字消費(fèi)等嵌入式解決方案事實(shí)上的標(biāo)準(zhǔn)。優(yōu)良的性能和廣泛的市場(chǎng)定位極大地增加和豐富了ARM的資源,加速了ARM處理器面向各種應(yīng)用的系統(tǒng)芯片的開(kāi)發(fā)和發(fā)展。嵌入式系統(tǒng)與Internet的融合:為適應(yīng)嵌入式分布處理結(jié)構(gòu)和應(yīng)用上網(wǎng)需求,面向21世紀(jì)的嵌入式系統(tǒng)要求配備標(biāo)準(zhǔn)的一種或多種網(wǎng)絡(luò)通信接口。針對(duì)外部聯(lián)網(wǎng)要求,嵌入設(shè)備必需配有通信接口,相應(yīng)需要TCP/IP協(xié)議簇軟件支持;由于家用電器相互關(guān)聯(lián)(如防盜報(bào)警、燈光能源控制、影視設(shè)備和信息終端交換信息)及實(shí)驗(yàn)現(xiàn)場(chǎng)儀器的協(xié)調(diào)工作等要求,新一代嵌入式設(shè)備還需具備IEEE1394、USB、CAN、Bluetooth或IrDA通信接口,同時(shí)也需要提供相應(yīng)的通信組網(wǎng)協(xié)議軟件和物理層驅(qū)動(dòng)軟件。為了支持應(yīng)用軟件的特定編程模式,如Web或無(wú)線Web編程模式,還需要相應(yīng)的瀏覽器,如HTML、WML等。 未來(lái)嵌入式系統(tǒng)的發(fā)展趨勢(shì)近幾年,在消費(fèi)電子、工業(yè)應(yīng)用、軍事國(guó)防、網(wǎng)絡(luò)設(shè)備等領(lǐng)域的嵌入式應(yīng)用,為中提供了難得的發(fā)展機(jī)遇。另外,嵌入式技術(shù)又不斷地刺激新的技術(shù)的產(chǎn)生——信息家電、醫(yī)療電子病歷、微小型智能武器等方面應(yīng)用也日益廣泛,應(yīng)用深度也進(jìn)一步加強(qiáng)?;ヂ?lián)網(wǎng)的普及、微電子加工工藝的提高、3C技術(shù)的普遍融合、使用者需求的增多、信息服務(wù)應(yīng)用的生活化、技術(shù)的滲透性和融合性、設(shè)備的關(guān)聯(lián)性以及個(gè)性化服務(wù)的普遍需求。因而,移動(dòng)化處理信息,即隨時(shí)隨地的獲取信息、處理信息等,成為信息社會(huì)把握先機(jī)而制勝的必然武器。日益發(fā)展的嵌入式已能夠滿足人們隨時(shí)隨地利用任何設(shè)備和手段來(lái)接收、處理和發(fā)布信息的需求。低成本、低功耗的消費(fèi)電子和寬帶、無(wú)線通信以及處理運(yùn)算的高效計(jì)算結(jié)合技術(shù)將進(jìn)一步刺激和加速嵌入式技術(shù)的發(fā)展,造就更廣闊的市場(chǎng)空間。選擇題1、以下說(shuō)法不正確的是(B)。A、任務(wù)可以有類型說(shuō)明 B、任務(wù)可以返回一個(gè)數(shù)值C、任務(wù)可以有形參變量 D、任務(wù)是一個(gè)無(wú)限循環(huán)2下列描述不屬于RISC計(jì)算機(jī)的特點(diǎn)的是(C)。A.流水線每周期前進(jìn)一步。 B.更多通用寄存器。C.指令長(zhǎng)度不固定,執(zhí)行需要多個(gè)周期。D.獨(dú)立的Load和Store指令完成數(shù)據(jù)在寄存器和外部存儲(chǔ)器之間的傳輸。3存儲(chǔ)一個(gè)32位數(shù)0x2168465到2000H~2003H四個(gè)字節(jié)單元中,若以大端模式存儲(chǔ),則2000H存儲(chǔ)單元的內(nèi)容為(D)。A、0x21 B、0x68 C、0x65 D、0x024μCOS-II中對(duì)關(guān)鍵代碼段由于希望在執(zhí)行的過(guò)程中不被中斷干擾,通常采用關(guān)中斷的方式,以下X86匯編代碼正確而且不會(huì)改變關(guān)中斷之前的中斷開(kāi)關(guān)狀態(tài)的是(D)A.先CLI、執(zhí)行關(guān)鍵代碼、再STIB.先STI、執(zhí)行關(guān)鍵代碼、再CLIC.先POPF、CLI、執(zhí)行關(guān)鍵代碼、再PUSHFD.先PUSHF、CLI、執(zhí)行關(guān)鍵代碼、再POPF。5RS232-C串口通信中,表示邏輯1的電平是(D)。A、0v B、3.3v C、+5v~+15v D、-5v~-15v6ARM匯編語(yǔ)句“ADDR0,R2,R3,LSL#1”的作用是(A)。A.R0=R2+(R3<<1) B.R0=(R2<<1)+R3C.R3=R0+(R2<<1) D.(R3<<1)=R0+R27IRQ中斷的入口地址是(C)。FIQ的入口地址為0x0000001CA、0x00000000 B、0x00000008 C、0x00000018 D、0x000000148S3C2420XI/O口常用的控制器是(D)。(1)端口控制寄存器(GPACON-GPHCON)。(2)端口數(shù)據(jù)寄存器(GPADAT-GPHDAT)。(3)外部中斷控制寄存器(EXTINTN)。(4)以上都是。9實(shí)時(shí)操作系統(tǒng)中,兩個(gè)任務(wù)并發(fā)執(zhí)行,一個(gè)任務(wù)要等待其合作伙伴發(fā)來(lái)信息,或建立某個(gè)條件后再向前執(zhí)行,這種制約性合作關(guān)系被成為(A)。A.同步B.互斥C.調(diào)度D.執(zhí)行10和PC系統(tǒng)機(jī)相比嵌入式系統(tǒng)不具備以下哪個(gè)特點(diǎn)(C)。A、系統(tǒng)內(nèi)核小 B、專用性強(qiáng) C、可執(zhí)行多任務(wù) D、系統(tǒng)精簡(jiǎn)11、ADD R0,R1,#3屬于(A)尋址方式。A.立即尋址 B.多寄存器尋址 C.寄存器直接尋址 D.相對(duì)尋址12、GET偽指令的含義是(A)A.包含一個(gè)外部文件 B.定義程序的入口 C.定義一個(gè)宏 D.聲明一個(gè)變量13、存儲(chǔ)一個(gè)32位數(shù)0x876165到2000H~2003H四個(gè)字節(jié)單元中,若以小端模式存儲(chǔ),則2000H存儲(chǔ)單元的內(nèi)容為(C)。A、0x00 B、0x87 C、0x65 D、0x6114、μCOS-II操作系統(tǒng)不屬于(C)。A、RTOSB、占先式實(shí)時(shí)操作系統(tǒng)C、非占先式實(shí)時(shí)操作系統(tǒng)D、嵌入式實(shí)時(shí)操作系統(tǒng)15、若R1=2000H,(2000H)=0x86,(2008H)=0x39,則執(zhí)行指令LDR R0,[R1,#8]!后R0的值為(D)。A.0x2000 B.0x86 C.0x2008 D.0x3916、寄存器R13除了可以做通用寄存器外,還可以做(C)。A、程序計(jì)數(shù)器 B、鏈接寄存器 C、棧指針寄存器 D、基址寄存器17、FIQ中斷的入口地址是(A)。A、0x0000001C B、0x00000008 C、0x00000018 D、0x0000001418、ARM指令集和Thumb指令集分別是(D)位的。A.8位,16位 B.16位,32位 C.16位,16位 D.32位,16位19、ARM寄存器組有(D)個(gè)寄存器。A、7 B、32 C、6 D、3720、若R1=2000H,(2000H)=0x28,(2008H)=0x87,則執(zhí)行指令LDR R0,[R1,#8]!后R0的值為(D)。A.0x2000 B.0x28 C.0x2008 D.0x8721、寄存器R15除了可以做通用寄存器外,還可以做(A)A.程序計(jì)數(shù)器 B.鏈接寄存器 C.堆棧指針寄存器 D.基址寄存器22、嵌入式系統(tǒng)有硬件和軟件部分構(gòu)成,以下(C)不屬于嵌入式系統(tǒng)軟件。A.系統(tǒng)軟件B.驅(qū)動(dòng)C.FPGA編程軟件D.嵌入式中間件26、假設(shè)R1=0x31,R2=0x2則執(zhí)行指令A(yù)DD R0,R1,R2LSL#3后,R0的值是(C)A.0x33 B.0x34 C.0x39 D.0x3823、和PC機(jī)系統(tǒng)相比下列哪個(gè)不是嵌入式系統(tǒng)獨(dú)具的特點(diǎn)(C)A、系統(tǒng)內(nèi)核小 B、專用性強(qiáng) C、可執(zhí)行多任務(wù) D、系統(tǒng)精簡(jiǎn)24、Unicode編碼與(A)編碼方式兼容。A、ASCII碼 B、GBK C、GB2312 D、區(qū)位碼25、Cache用于存放主存數(shù)據(jù)的部分拷貝,主存單元地址與Cache單元地址之間的轉(zhuǎn)換用(A)完成。A.硬件B.軟件C.用戶D.程序員26在μC/OS-II系統(tǒng)中,OSTimeTick()函數(shù)只被以下(A)函數(shù)或過(guò)程所調(diào)用。A.OSTickISRB.OSShedC.OSCtxSw D.OSIntCtxSw27每種嵌入式操作系統(tǒng)都有自身的特點(diǎn)以吸引相關(guān)用戶,下列說(shuō)法錯(cuò)誤的是(D)。A.嵌入式Linux提供了完善的網(wǎng)絡(luò)技術(shù)支持;B.CLinux是專門為沒(méi)有MMU的ARM芯片開(kāi)發(fā)的;C.C/OS-Ⅱ操作系統(tǒng)是一種實(shí)時(shí)操作系統(tǒng)(RTOS);D.WinCE提供完全開(kāi)放的源代碼。28下列關(guān)于存儲(chǔ)管理單元(MMU)說(shuō)法錯(cuò)誤的是(B)。A.MMU提供的一個(gè)關(guān)鍵服務(wù)是使各個(gè)任務(wù)作為各自獨(dú)立的程序在其自己的私有存儲(chǔ)空間中運(yùn)行。B.在帶MMU的操作系統(tǒng)控制下,運(yùn)行的任務(wù)必須知道其他與之無(wú)關(guān)的任務(wù)的存儲(chǔ)需求情況,這就簡(jiǎn)化了各個(gè)任務(wù)的設(shè)計(jì)。C.MMU提供了一些資源以允許使用虛擬存儲(chǔ)器。D.MMU作為轉(zhuǎn)換器,將程序和數(shù)據(jù)的虛擬地址(編譯時(shí)的連接地址)轉(zhuǎn)換成實(shí)際的物理地址,即在物理主存中的地址。29下列CPSR寄存器標(biāo)志位的作用說(shuō)法錯(cuò)誤的是(D)。A.N:負(fù)數(shù)B.Z:零C.C:進(jìn)位D.V:借位30S3C2410X處理器為用戶進(jìn)行應(yīng)用設(shè)計(jì)提供了支持多主總線的IIC接口。處理器提供符合IIC協(xié)議的設(shè)備連接的串行連接線為(C)。A.SCL和RTX B.RTX和RCX C.SCL和SDA D.SDA和RCXRQ中斷的優(yōu)先級(jí)別是(D)。A.1 B.2 C.3 D.4LDRR2,[R3,#128]的尋址方式是(C)。A.寄存器尋址 B.寄存器移位 C.變址尋址 D.間接尋址S3C2410有(B)個(gè)USB接口。A.1 B.2 C.3 D.434ARM處理器的工作模式有(C)種。A.5B.6 C.7D.8判斷題程序運(yùn)行過(guò)程中的資源可以是顯示器、鍵盤,但不可以是一個(gè)數(shù)組或變量(X)在μCOS-II操作系統(tǒng)中,已知Task1的優(yōu)先級(jí)為12,Task2的優(yōu)先級(jí)為26。假如在Task2運(yùn)行過(guò)程中發(fā)生鍵盤中斷,在執(zhí)行中斷服務(wù)程序時(shí)Task1進(jìn)入就緒狀態(tài),則中斷返回時(shí)Task1得到CPU的使用權(quán)。(√ )若定義任務(wù)task1的優(yōu)先級(jí)為12,則不能再定義其他任務(wù)的優(yōu)先級(jí)也為12(√ )任務(wù)創(chuàng)建后即開(kāi)始調(diào)度(X)液晶工作在文本模式下時(shí),既可以顯示英文字符也可以顯示漢字(X)處于就緒狀態(tài)的任務(wù)只能切換到運(yùn)行狀態(tài)(X)等待消息函數(shù)WaitMessage(0)中的“0”表示此函數(shù)的超時(shí)等待時(shí)間為0秒(X)若OSTaskSuspend(prio)函數(shù)把正在延時(shí)的任務(wù)掛起,則調(diào)用一次對(duì)應(yīng)的喚醒函數(shù)即可使該任務(wù)切換到就緒狀態(tài)。(X)調(diào)試程序時(shí),需要停止程序運(yùn)行后才可查看變量?jī)?nèi)容(√ )μCOS-II操作系統(tǒng)中移植成功后即可使用文件系統(tǒng)(X)將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)的電路是DA轉(zhuǎn)換器。(×)IIC是同步串行數(shù)據(jù)總線,。(√)S3C2410的處理器對(duì)內(nèi)存的訪問(wèn)只能通過(guò)Load/Store指令來(lái)實(shí)現(xiàn)。(√)NandFlash比NorFlash成本高,可靠性差。(×)C語(yǔ)言程序可以嵌套加入?yún)R編程序模塊。(√)運(yùn)算放大器的輸出電壓范圍一般大于電源電壓的范圍。(×)由于CPU內(nèi)部寄存器的訪問(wèn)速度較高,根據(jù)ATPC標(biāo)準(zhǔn),應(yīng)盡可能使函數(shù)的參數(shù)控制在4個(gè)以下。(√)ARM處理器結(jié)構(gòu)體系中具有T變種處理器核可以工作在ARM狀態(tài)和Thumb狀態(tài)。(√)簡(jiǎn)答題ARM體系結(jié)構(gòu)的寄存器組織:37個(gè)32位寄存器,其中31個(gè)為通用寄存器,6個(gè)為狀態(tài)寄存器,哪些寄存器是可編程訪問(wèn)的,取決微處理器的工作狀態(tài)及具體的運(yùn)行模式。ARM微處理器的異常狀態(tài):7種異常4、ARM處理器有幾種工作模式?并做說(shuō)明每種工作模式的含義。答:ARM處理器有7種工作模式:用戶模式(usr)-正常程序執(zhí)行的模式 0.5分快速中斷模式(fiq)-FIQ異常響應(yīng)時(shí)進(jìn)入此模式 0.5分中斷模式(irq)-IRQ異常響應(yīng)時(shí)進(jìn)入此模式 0.5分管理員模式(svc)-系統(tǒng)復(fù)位和軟件中斷響應(yīng)時(shí)進(jìn)入此模式 0.5分中止模式(abt)-用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù) 0.5分系統(tǒng)模式(sys)-與用戶類似,但有直接切換到其它模式等特權(quán) 0.5分未定義模式(und)-未定義指令異常響應(yīng)時(shí)進(jìn)入此模式 0.5分除了用戶模式外,其他模式均可視為特權(quán)模式 0.5分閱讀程序題9、閱讀下列與看門狗有關(guān)的寄存器描述,解釋每一行代碼的功能??撮T狗定時(shí)器控制寄存器(WTCON)寄存器地址讀/寫描述初始值WTCON0x53000000讀/寫看門狗定控制寄存器0x8021WTCON的標(biāo)識(shí)位WTCONBit描述初始值PrescalerValue[15:8]預(yù)裝比例值,有效范圍值為0~2550x80Reserved[7:6]保留00WatchdogTimer[5]使能和禁止看門狗定時(shí)器0=禁止看門狗定時(shí)器1=使能看門狗定時(shí)器0ClockSelect[4:3]這兩位決定時(shí)鐘分頻因素00:1/1601:1/3210:1/6411:1/12800InterruptGeneration[2]中斷的禁止和使能0=禁止中斷產(chǎn)生1=使能中斷產(chǎn)生0Reserved[1]保留0ResetEnable/Disable[0]禁止很使能看門狗復(fù)位信號(hào)的輸出1=看門狗復(fù)位信號(hào)使能0=看門狗復(fù)位信號(hào)禁止1看門狗定時(shí)器數(shù)據(jù)寄存器(WTDAT)寄存器地址讀/寫描述初始值WTDAT0x53000004讀/寫看門狗數(shù)據(jù)寄存器0x8000看門狗計(jì)數(shù)寄存器(WTCNT)寄存器地址讀/寫描述初始值WTCNT0x53000008讀/寫看門狗計(jì)數(shù)器當(dāng)前值0x8000#definerWTCON(*(volatileunsigned*)0x53000000)//第1行#definerWTDAT(*(volatileunsigned*)0x53000004)//第2行#definerWTCNT(*(volatileunsigned*)0x53000008)//第3行voidwatchdog_test(void){ rWTCON=((PCLK/1000000-1)<<8)|(3<<3)|(1<<2);//第4行 rWTDAT=7812; //第5行 rWTCNT=7812;//第6行 rWTCON|=(1<<5); //第7行}第1-3行:定義看門狗控制寄存器、數(shù)據(jù)寄存器和計(jì)數(shù)寄存器為rWTCON、rWTDAT和rWTCNT。第4行:設(shè)置看門狗的預(yù)裝比例值為1000000,分頻因素為1/128,并使能中斷。(6分)第5-6行:對(duì)數(shù)據(jù)寄存器和計(jì)數(shù)寄存器賦值為7812。(2分)第7行:?jiǎn)?dòng)看門狗。(2分)7、閱讀以下S3C2410部分用戶手冊(cè).求:當(dāng)PCLK或UCLK為40MHz時(shí),串口0的波特率為2400bps,串口1的波特率為115200bps,相應(yīng)的控制寄存器如何設(shè)置.UARTBAUDRATEDIVISORREGISTERTherearethreeUARTbaudratedivisorregisters(寄存器)includingUBRDIV0,UBRDIV1andUBRDIV2intheUARTblock(模塊).Thevaluestoredinthebaudratedivisorregister(UBRDIVn),isusedtodeterminetheserialTx/Rxclockrate(baudrate)asfollows:UBRDIVn=(int)(PCLK/(bpsx16))–1orUBRDIVn=(int)(UCLK/(bpsx16))–1Where,thedivisorshouldbefrom1to(216-1)andUCLKshouldbesmallerthanPCLK.RegisterAddressR/WDescriptionResetValueUBRDIV00x50000028R/WBaudratedivisorregister0–UBRDIV10x50004028R/WBaudratedivisorregister1–UBRDIV20x50008028R/WBaudratedivisorregister2–UBRDIVnBitDescriptionInitialStateUBRDIV[15:0]BaudratedivisionvalueUBRDIVn>0–答:根據(jù)UBRDIVn=(int)(PCLK/(bpsx16))–1寄存器UBRDIV0=(int)(40000000/2400*16)-1=1040=10000010000(B)寄存器UBRDIV1=(int)(40000000/115200*16)-1=20=10100(B)任務(wù)控制塊(TCB)的數(shù)據(jù)結(jié)構(gòu)OS-TCB表示任務(wù)的狀態(tài)。當(dāng)任務(wù)的CPU控制權(quán)被槍戰(zhàn)后,任務(wù)控制塊用來(lái)保存該任務(wù)的狀態(tài)。當(dāng)任務(wù)重新獲得CPU的控制權(quán)后,任務(wù)控制塊能夠保證任務(wù)從被中斷的位置繼續(xù)正確執(zhí)行。任務(wù)控制塊提供了任務(wù)的基本信息,如任務(wù)的執(zhí)行狀態(tài)、優(yōu)先級(jí)和堆棧位置等。第一章1、舉出3個(gè)書本中未提到的嵌入式系統(tǒng)的例子。答:紅綠燈控制,數(shù)字空調(diào),機(jī)頂盒2、什么叫嵌入式系統(tǒng)嵌入式系統(tǒng):以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。3、什么叫嵌入式處理器?嵌入式處理器分為哪幾類?嵌入式處理器是為完成特殊的應(yīng)用而設(shè)計(jì)的特殊目的的處理器。嵌入式微處理器(EmbeddedMicroprocessorUnit,EMPU)嵌入式微控制器(MicrocontrollerUnit,MCU)嵌入式DSP處理器(EmbeddedDigitalSignalProcessor,EDSP)嵌入式片上系統(tǒng)(SystemOnChip)4、什么是嵌入式操作系統(tǒng)?為何要使用嵌入式操作系統(tǒng)?是一段在嵌入式系統(tǒng)啟動(dòng)后首先執(zhí)行的背景程序,首先,嵌入式實(shí)時(shí)操作系統(tǒng)提高了系統(tǒng)的可靠性。其次,提高了開(kāi)發(fā)效率,縮短了開(kāi)發(fā)周期。再次,嵌入式實(shí)時(shí)操作系統(tǒng)充分發(fā)揮了32位CPU的多任務(wù)潛力。第二章1、嵌入式系統(tǒng)項(xiàng)目開(kāi)發(fā)的生命周期分哪幾個(gè)階段?各自的具體任務(wù)是什么?項(xiàng)目的生命周期一般分為識(shí)別需求、提出解決方案、執(zhí)行項(xiàng)目和結(jié)束項(xiàng)目4個(gè)階段。識(shí)別需求階段的主要任務(wù)是確認(rèn)需求,分析投資收益比,研究項(xiàng)目的可行性,分析廠商所應(yīng)具備的條件。提出解決方案階段由各廠商向客戶提交標(biāo)書、介紹解決方案。執(zhí)行項(xiàng)目階段細(xì)化目標(biāo),制定工作計(jì)劃,協(xié)調(diào)人力和其他資源;定期監(jiān)控進(jìn)展,分析項(xiàng)目偏差,采取必要措施以實(shí)現(xiàn)目標(biāo)。結(jié)束項(xiàng)目階段主要包括移交工作成果,幫助客戶實(shí)現(xiàn)商務(wù)目標(biāo);系統(tǒng)交接給維護(hù)人員;結(jié)清各種款項(xiàng)。2、為何要進(jìn)行風(fēng)險(xiǎn)分析?嵌入式項(xiàng)目主要有哪些方面的風(fēng)險(xiǎn)?在一個(gè)項(xiàng)目中,有許多的因素會(huì)影響到項(xiàng)目進(jìn)行,因此在項(xiàng)目進(jìn)行的初期,在客戶和開(kāi)發(fā)團(tuán)隊(duì)都還未投入大量資源之前,風(fēng)險(xiǎn)的評(píng)估可以用來(lái)預(yù)估項(xiàng)目進(jìn)行可能會(huì)遭遇的難題。需求風(fēng)險(xiǎn);時(shí)間風(fēng)險(xiǎn);資金風(fēng)險(xiǎn);項(xiàng)目管理風(fēng)險(xiǎn)3、何謂系統(tǒng)規(guī)范?制定系統(tǒng)規(guī)范的目的是什么?規(guī)格制定階段的目的在于將客戶的需求,由模糊的描述,轉(zhuǎn)換成有意義的量化數(shù)據(jù)。4、何謂系統(tǒng)規(guī)劃?為何要做系統(tǒng)規(guī)劃系統(tǒng)規(guī)劃就是擬定一個(gè)開(kāi)發(fā)進(jìn)程,使項(xiàng)目在合理的進(jìn)程范圍中逐漸建構(gòu)完成。其目地是讓客戶可以進(jìn)一步地掌握系統(tǒng)開(kāi)發(fā)的進(jìn)程,并確定檢查點(diǎn),以讓雙方確定項(xiàng)目是否如預(yù)期中的進(jìn)度完成。5、為什么在項(xiàng)目結(jié)束前需要進(jìn)行項(xiàng)目討論?項(xiàng)目的討論一個(gè)項(xiàng)目進(jìn)行的反饋機(jī)制。通過(guò)這一個(gè)程序,項(xiàng)目團(tuán)隊(duì)的經(jīng)驗(yàn)才可以被記錄下來(lái),也就是說(shuō),這是一個(gè)撰寫項(xiàng)目歷史的過(guò)程。第三章1、ARM7TDMI中的T、D、M、I的含義是什么?64位乘法指令(帶M后綴的)、支持片上調(diào)試(帶D后綴的)、高密度16位的Thumb指令機(jī)擴(kuò)展(帶T后綴的)和EmbededICE觀察點(diǎn)硬件(帶I后綴的)2、ARM7TDMI采用幾級(jí)流水線?使用何種存儲(chǔ)器編址方式?三級(jí)流水線(取指譯碼執(zhí)行);使用了馮·諾依曼(VonNeumann)結(jié)構(gòu),指令和數(shù)據(jù)共用一條32位總線。3、ARM處理器模式和ARM處理器狀態(tài)有何區(qū)別?處理器模式指的是處理器在執(zhí)行程序時(shí)在不同時(shí)刻所處的不同狀態(tài),處理器狀態(tài)指的是處理器當(dāng)前所執(zhí)行的指令集。4、分別列舉ARM的處理器模式和狀態(tài)。狀態(tài):ARM狀態(tài)32位,這種狀態(tài)下執(zhí)行的是字方式的ARM指令Thumb狀態(tài)16位,這種狀態(tài)下執(zhí)行半字方式的Thumb指令模式:用戶模式、快中斷模式、中斷模式、管理模式、中止模式、未定義模式和系統(tǒng)模式。5、PC和LR分別使用哪個(gè)寄存器?PC使用R15寄存器,LR使用R14寄存器6、R13寄存器的通用功能是什么?堆棧第四章1、基礎(chǔ)知識(shí)(1)ARM7TDMI(-S)有幾種尋址方式?LORR1,[R0,#0x08]屬于哪種尋址方式?1.寄存器尋址;2.立即尋址;3.寄存器移位尋址;4.寄存器間接尋址;5.基址尋址;6.多寄存器尋址;7.堆棧尋址;8.塊拷貝尋址;9.相對(duì)尋址;LORR1,[R0,#0x08]屬于基址尋址。(2)ARM指令的條件碼有多少個(gè)?默認(rèn)條件碼是什么?16條,默認(rèn)條件碼是AL。(3)ARM指令中第二個(gè)操作數(shù)有哪幾種形式?舉例5個(gè)8位圖立即數(shù)。(1)立即數(shù);(2)寄存器;(3)寄存器及移位常數(shù);0x3FC(0xFF<<2)、0、0xF0000000(0xF0<<24)、200(0xC8)、0xF0000001(0x1F<<28)。(4)LDR/STR指令的偏移形式有哪4種?LDRB和LDRSB有何區(qū)別?(1)零偏移;(2)前索引偏移;(3)程序相對(duì)偏移;(4)后索引偏移。LDRB就是讀出指定地址的數(shù)據(jù)并存入指定寄存器,LDRSB讀出指定地址的數(shù)據(jù),并高24位用符號(hào)位擴(kuò)展,再存入指定寄存器。(5)請(qǐng)指出MOV指令與LDR加載指令的區(qū)別及用途。MOV將8位圖(pattern)立即數(shù)或寄存器(operand2)傳送到目標(biāo)寄存器(Rd),可用于移位運(yùn)算等操作。讀取指定地址上的存儲(chǔ)器單元內(nèi)容,執(zhí)行條件AL.(6)CMP指令的操作是什么?寫一個(gè)程序,判斷R1的值是否大于0x30,是則將R1減去0x30。CMP指令將寄存器Rn的值減去operand2的值,根據(jù)操作的結(jié)果更新CPSR中的相應(yīng)條件標(biāo)志位,以便后面的指令根據(jù)相應(yīng)的條件標(biāo)志來(lái)判斷是否執(zhí)行。CMPR1,0x30SUBHIR1,R1,0x30(7)調(diào)用子程序是用B還是用BL指令?請(qǐng)寫出返回子程序的指令?BL指令用于子程序調(diào)用。MOVPC,R14(8)請(qǐng)指出LDR偽指令的用法。指令格式與LDR加載指令的區(qū)別是什么?LDR偽指令用于加載32位的立即數(shù)或一個(gè)地址值到指定寄存器。第二個(gè)數(shù)為地址表達(dá)式。(9)ARM狀態(tài)與Thumb狀態(tài)的切換指令是什么?請(qǐng)舉例說(shuō)明。BX指令,(10)Thumb狀態(tài)與ARM狀態(tài)的寄存器有區(qū)別嗎?Thumb指令對(duì)哪些寄存器的訪問(wèn)受到一定限制?Thumb狀態(tài)下不能更新CPSR中的ALU狀態(tài)標(biāo)志。,Thumb指令對(duì)R8~R15寄存器訪問(wèn)受限。(11)Thumb指令集的堆棧入棧、出棧指令是哪兩條?PUSHPOP(12)Thumb指令集的BL指令轉(zhuǎn)換范圍為何能達(dá)到±4MB?其指令編碼是怎樣的?Thumb采用兩條16位指令組合成22位半字偏移(符號(hào)擴(kuò)展為32位),使指令轉(zhuǎn)移范圍為±4MB。2有符號(hào)和無(wú)符號(hào)加法下面給出A和B的值,您可先手動(dòng)計(jì)算A+B,并預(yù)測(cè)N、Z、V和C標(biāo)志位的值。然后修改程序清單4.1中R0、R1的值,將這兩個(gè)值裝載到這兩個(gè)寄存器中(使用LDR偽指令,如LDRR0,=0xFFFF0000),使其執(zhí)行兩個(gè)寄存器的加法操作。調(diào)試程序,每執(zhí)行一次加法操作就將標(biāo)志位的狀態(tài)記錄下來(lái),并將所得結(jié)果與您預(yù)先計(jì)算得出的結(jié)果相比較。如果兩個(gè)操作數(shù)看作是有符號(hào)數(shù),如何解釋所得標(biāo)志位的狀態(tài)?同樣,如果這兩個(gè)操作數(shù)看作是無(wú)符數(shù),所得標(biāo)志位又當(dāng)如何理解?0xFFFF000F0x7FFFFFFF67654321(A)+0x0000FFF1+0x02345678+23110000(B)結(jié)果:()()()3數(shù)據(jù)訪問(wèn)把下面的C代碼轉(zhuǎn)換成匯編代碼。數(shù)組a和b分別存放在以0x4000和0x5000為起始地址的存儲(chǔ)區(qū)內(nèi),類型為long(即32位)。把編寫的匯編語(yǔ)言進(jìn)行編譯連接,并進(jìn)行調(diào)試。for(i=0;i<8;i++){a[i]=b[7-i];}第四章程序清單4.1寄存器相加;文件名:TESTI.S;功能:實(shí)現(xiàn)兩個(gè)寄存器相加;說(shuō)明:使用ARMulate軟件仿真調(diào)試AREAExamplel,CODE,READONLY;聲明代碼段ExamplelENTRY;標(biāo)識(shí)程序入口CODE32;聲明32位ARM指令STARTMOVR0,#0;設(shè)置參數(shù)MOVR1,#10LOOPBLADD_SUB;調(diào)用子程序ADD_SUBBLOOP;跳轉(zhuǎn)到LOOPADD_SUBADDSR0,R0,R1;R0=R0+R1MOVPC,LR;子程序返回END;文件結(jié)束程序清單4.2讀取SMI立即數(shù)T_bitEQU0X20SWI_HandlerSTMFDSP!,{R0_R3,R12,LR};現(xiàn)場(chǎng)保護(hù)MRSR0,SPSR;讀取SPSRSTMEDSP!,{R0};保存SPSRTSTR0,#T_bit;測(cè)試T標(biāo)志位LDRNEHR0,[LR,#_2];若是Thumb指令,讀取指令碼(16位)BICNER0,R0,,#0xFF00;取得Thumb指令的8位立即數(shù)LDREQR0,[LR,#_4];若是ARM指令,讀取指令碼(32位)BICEQR0,R0,#0Xff000000;取得ARM指令的24位立即數(shù)……LDMFDSP!,{R0_R3,R12,PC};SWI異常中斷返回程序清單4.3使用IRQ中斷ENABLE_IRQMRSR0,CPSRBICR0,R0,#0x80MSRCPSR_C,R0MOVPC,LR程序清單4.4禁能IRQ中斷DISABLE_IRQMRSR0CPSRORRR0,R0,#0x80MSRCPSR_C,R0MOVPC,LR程序清單4.5堆棧指令初始化INTSTACKWOVR0,LR;保存返回地址;設(shè)置管理模式堆棧MSRCPSR_C,#0xD3LDRSP,stacksvc;設(shè)置中斷模式堆棧MSRCPSR_C,#0xD2LDRSP,Stacklrq……程序清單4.6小范圍地址的加載……ADRR0,DISP_TAB;加載轉(zhuǎn)換表地址LDRBR1,[R0,R2];使用R2作為參數(shù),進(jìn)行查表……DISP_TABDCB0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90程序清單4.7中等范圍地址的加載……ADRLR,RETURNIADRLR1,Thumb_sub+1BXR1RETURNI……CODE16Thumb_subMOVR1,#10……程序清單4.8加載32位立即數(shù)……LDRR0,=IOPIN;加載GPIO的寄存器IOPIN的地址LDRR1,[R0];讀取IOPIN寄存器的值……LDRR0,=IOSETLDRR1,=0x00500500STRR1,[R0];IOSET=0x00500500……程序清單4.9軟件延時(shí)……DELAYINOPNOPNOPSUBSR1,R1,#1BNEDELAYI……程序清單4.10ARM到Thumb的狀態(tài)切換;文件名:TEST8.S;功能:使用BX指令切換處理器狀態(tài);說(shuō)明:使用ARMulate軟件仿真調(diào)試AREAExample8,CODE,READONLYENTRYCODE32ARM_CODEADRR0,THUMB_CODE+1BXR0;跳轉(zhuǎn)并切換處理器狀態(tài)CODE16THUMB_CODEMOVR0,#10;R0=10MOVR1,#20;R1=20ADDR0,R1;R0=R0+R1BEND(一)、填空題1、嵌入式系統(tǒng)的三要素是嵌入、專用、計(jì)算機(jī)。2、從嵌入式系統(tǒng)設(shè)計(jì)的角度來(lái)看,嵌入式軟件結(jié)構(gòu)可以分為循環(huán)輪詢系統(tǒng)、前后臺(tái)系統(tǒng)、單處理器多任務(wù)系統(tǒng)以及多處理器多任務(wù)系統(tǒng)等幾大類。3、衡量系統(tǒng)實(shí)時(shí)性的主要指標(biāo)有:響應(yīng)時(shí)間、生存時(shí)間、吞吐量。4、軟件一般包括:程序、數(shù)據(jù)和文檔。5、嵌入式軟件的體系結(jié)構(gòu)通常包括:驅(qū)動(dòng)層、操作系統(tǒng)層、中間件層和應(yīng)用層。6、嵌入式系統(tǒng)中的任務(wù)管理主要包括:創(chuàng)建任務(wù)、刪除任務(wù)、改變?nèi)蝿?wù)狀態(tài)和查詢?nèi)蝿?wù)狀態(tài)等功能。7、任務(wù)由代碼、數(shù)據(jù)、堆棧和任務(wù)控制塊TCB構(gòu)成。8、TCB包含操作系統(tǒng)用來(lái)控制任務(wù)所需要的信息,如任務(wù)狀態(tài)、CPU寄存器、調(diào)度信息、內(nèi)存管理信息和I/O狀態(tài)信息等。9、任務(wù)的主要特性包括:動(dòng)態(tài)性、并行性和異步獨(dú)立性。10、任務(wù)的特性可能通過(guò)優(yōu)先級(jí)、周期、計(jì)算時(shí)間、就緒時(shí)間和截止時(shí)間等參數(shù)來(lái)進(jìn)行描述。11、任務(wù)的三種基本狀態(tài)為:等待、就緒和執(zhí)行。12、BSP的主要特點(diǎn)是:硬件相關(guān)性與操作系統(tǒng)相關(guān)性。13、評(píng)價(jià)實(shí)時(shí)操作系統(tǒng)的主要指標(biāo)有:系統(tǒng)響應(yīng)時(shí)間、任務(wù)切換時(shí)間、中斷延遲等。14、實(shí)時(shí)系統(tǒng)與分時(shí)以及批處理系統(tǒng)的主要區(qū)別是高及時(shí)性和高可靠性。15、創(chuàng)建任務(wù)原語(yǔ)的主要功能有:為任務(wù)申請(qǐng)一個(gè)TCB并初始化、將新建任務(wù)設(shè)置為就緒狀態(tài)并放入就緒隊(duì)列中。16、采用優(yōu)先級(jí)調(diào)

溫馨提示

  • 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)論