嵌入式復(fù)習(xí)題_第1頁
嵌入式復(fù)習(xí)題_第2頁
嵌入式復(fù)習(xí)題_第3頁
嵌入式復(fù)習(xí)題_第4頁
嵌入式復(fù)習(xí)題_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

簡(jiǎn)答題什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)的特點(diǎn)是什么?答:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能,可靠性,成本,體積,功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)特點(diǎn):與應(yīng)用密切相關(guān),實(shí)時(shí)性,復(fù)雜的算法,制造成本,功耗,開發(fā)和調(diào)試,可靠性,體積簡(jiǎn)要說明嵌入式系統(tǒng)的硬件組成和軟件組成。答:硬件組成:微處理器,存儲(chǔ)器,輸入設(shè)備和輸出設(shè)備。軟件組成:操作系統(tǒng),文件系統(tǒng),圖形用戶接口,網(wǎng)絡(luò)系統(tǒng),通用組建模塊。S3C2410A的AHB總線上連接了那些控制器?APB總線上連接了那些部件?AHB:LCD控制器,LCDDMA,總線控制器,USB主控制器,中斷控制器,ExtMaster,電源管理,Nandflash控制器,儲(chǔ)存器控制器。APB:通用異步收發(fā)器,內(nèi)部集成電路總線(IIC),USB設(shè)備控制器,集成電路內(nèi)部聲音總線(IIS),MMC/SD/SDIO主控制器,通用I/O端口(GPIO),看門狗定時(shí)器(WDT),定時(shí)時(shí)鐘(RTC),總線控制器,A/D轉(zhuǎn)換器,串行外設(shè)接口,定時(shí)器/脈寬調(diào)制。ARM體系結(jié)構(gòu)支持幾種類型的異常,并說明其異常處理模式和優(yōu)先級(jí)狀態(tài)?答,支持7種類型的異常異常處理過程:(進(jìn)入異常)PC→LR,CPRS→SPSR,設(shè)置CPSR的運(yùn)行模式位,跳轉(zhuǎn)到相應(yīng)的異常處理程序,(異常返回)LR→PC,SPSR→CPSR,若在進(jìn)入異常處理時(shí)設(shè)置中斷禁止位,要在此清楚,復(fù)位異常處理程序不需要返回。Reset>數(shù)據(jù)中指>快速中斷請(qǐng)求(FIQ)>中斷請(qǐng)求(IRQ)>指令預(yù)取中止>未定義指令和軟件中止。存儲(chǔ)器生長(zhǎng)堆棧可分為哪幾種?各有什么特點(diǎn)?4種,滿遞增堆棧,滿遞減堆棧,空遞增堆棧,空遞減堆棧。簡(jiǎn)述存儲(chǔ)器系統(tǒng)層次結(jié)構(gòu)及特點(diǎn)。答:層次結(jié)構(gòu)主要體現(xiàn)在“Cache-主存”層次和“主存-輔存”(Cache,主存儲(chǔ)器,輔助存儲(chǔ)器),前者主要解決CPU和主存速度不匹配的問題,后者主要解決存儲(chǔ)器系統(tǒng)的問題。在存儲(chǔ)器體系中Cache、主存能與CPU直接交換信息,輔存則要通過主存與CPU交換信息;主存與CPU、Cache、輔存都能交換信息。簡(jiǎn)述I2S總線接口的啟動(dòng)與停止過程。通過I2S控制寄存器IISCON控制,當(dāng)控制寄存器IISCON的地址為0=I2S禁止(停止);當(dāng)控制寄存器IISCON的地址為1=I2S允許(開始)。簡(jiǎn)述ARM系統(tǒng)中的中斷處理過程。中斷處理過程包括:中斷請(qǐng)求、中斷排隊(duì)或中斷判優(yōu)、中斷響應(yīng)、中斷處理和中斷返回ARM微處理器支持哪幾種運(yùn)行模式?各運(yùn)行模式有什么特點(diǎn)?User:用戶模式。絕大部分的任務(wù)執(zhí)行都在這種操作模式下,此為正常的程序執(zhí)行模式。FIQ:快速中斷模式。支持?jǐn)?shù)據(jù)傳送或通道處理。IRQ:普通中斷模式。用于一半中斷處理。Supervisor:管理模式。一種操作系統(tǒng)受保護(hù)的方式。Abort:中止模式。在訪問數(shù)據(jù)中止后或指令預(yù)取中止后進(jìn)入中止方式。System:系統(tǒng)模式。是操作系統(tǒng)一種特權(quán)級(jí)的用戶方式。Undef:未定義模式。當(dāng)執(zhí)行未定義指令時(shí)會(huì)進(jìn)入這種操作模式。當(dāng)PCLK=66.5MHz時(shí),選擇不同的時(shí)鐘分頻(1/2、1/4、1/8、1/16)輸入,分別計(jì)算定時(shí)器最小分辨率、最大分辨率及最大定時(shí)區(qū)間。答:最小分辨率:定時(shí)器輸入時(shí)鐘頻率=PCLK/{prescaler+1}/{divider值}=66.5/{0+1}/{2}=33.2500(MHz)一個(gè)計(jì)數(shù)脈沖時(shí)間=1/33.2500MHz=0.0300(us)最大分辨率:定時(shí)器輸入時(shí)鐘頻率=PCLK/{255+1}/{2}=66.5/256/2=129.8828一個(gè)計(jì)數(shù)脈沖的時(shí)間=1/129.8828=7.6992(us)最大定時(shí)區(qū)間:由于TCNTBn=65535,計(jì)數(shù)到0共65536個(gè)計(jì)數(shù)脈沖,所以65536*7.6992=0.5045(sec)。分析如圖所示I2S總線時(shí)序圖,說明其操作過程。在I2SLRCK改變后經(jīng)過1個(gè)時(shí)鐘周期之后,發(fā)送器發(fā)送下一個(gè)字的最高有效位。串行數(shù)據(jù)通過發(fā)送器發(fā)送,雖然同步可以使用時(shí)鐘信號(hào)的后沿(從高到低)或前沿(從低到高),然后在串行時(shí)鐘信號(hào)的前沿,串行數(shù)據(jù)必須被鎖存到接收器。由于這個(gè)限制,傳送數(shù)據(jù)被同步只能使用時(shí)鐘信號(hào)的前沿。左右聲道選擇線指示正在傳送的數(shù)據(jù)所在的聲道。I2SLRCK能夠在串行時(shí)鐘信號(hào)的后沿或前沿改變,而它的長(zhǎng)度不需要對(duì)稱。在從設(shè)備,I2SLRCK信號(hào)在時(shí)鐘信號(hào)的前沿被鎖存。I2SLRCK在最高有效位被傳送的前一個(gè)周期改變。S3C2410A與UAD1341通過I2S總線接口連接,試述音頻數(shù)據(jù)傳送過程。答:處理器通過IIS總線接口,控制音頻數(shù)據(jù)在s3c2410內(nèi)存與UDA1341TS之間傳送。連接在UDA1314TS上的麥克風(fēng)信號(hào)在UDA1314內(nèi)部經(jīng)過A/D轉(zhuǎn)換器,轉(zhuǎn)換成二進(jìn)制數(shù),串行通過DATAO引腳送到S3C2410的IIS模塊,在IIS模塊中數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)然后使用通常存取方式或DMA存取方式,將并行數(shù)據(jù)保存的內(nèi)存中,而內(nèi)存中要輸出的音頻數(shù)據(jù)使用通常存取方式或DMA存取方式,將數(shù)據(jù)并行傳送到IIS模塊在IIS中轉(zhuǎn)換成串行數(shù)據(jù),串行通過DATAI引腳送到UDA1314TS,在片內(nèi)經(jīng)過D/A轉(zhuǎn)換器,變成模擬信號(hào),經(jīng)過驅(qū)動(dòng)器,驅(qū)動(dòng)揚(yáng)聲器。voiddely(U32tt){U32i;for(;tt>0;tt--){for(i=0;i<10000;i++){}}}intMain(intargc,char**argv){ inti; U8key; U32mpll_val=0; intdata; mpll_val=(92<<12)|(1<<4)|(1); //initFCLK=400M,sochangeMPLLfirst ChangeMPllValue((mpll_val>>12)&0xff,(mpll_val>>4)&0x3f,mpll_val&3); ChangeClockDivider(key,12); MMU_DisableICache();MMU_DisableDCache();rGPBCON=0x155555; data=0x06; while(1) { rGPBDAT=(data<<5); dely(120); data=~data; }return0;}根據(jù)NandFlash控制器工作原理,試在圖中畫出S3C2410A的NandFlash控制器與K9F2808U0C芯片的連接關(guān)系,并簡(jiǎn)單描述其操作過程。S3C2410A的LCD控制器初始化程序主要包括配置LCD引腳用到的GPIO;設(shè)置LCDCON寄存器參數(shù)等。試配置C端口、D端口的相關(guān)引腳為L(zhǎng)CD功能引腳。寫出端口配置初始化程序。voidLcd_Port_Init(void){rGPCUP=0xffffffff;rGPCCON=0xaaaaaaaa;rGPDUP=0xffffffff;rGPDCON=0xaaaaaaaa;rGPCCON|=2<<12|2<<14|2<<16;Uart_Printf(”InitializingGPIOports\n”);用S3C2410A或S3C2440的串口1實(shí)現(xiàn)串口通信。試設(shè)計(jì)不帶流量控制的簡(jiǎn)單收發(fā)程序,包括初始化程序,發(fā)送程序和接收程序。所用寄存器描述如下:ULCONn位描述[6]0:正常模式;1:紅外模式[5:3]0xx:無奇偶校驗(yàn);100:奇校驗(yàn)101:偶校驗(yàn)110:強(qiáng)制奇偶校驗(yàn)/校驗(yàn)1;111:強(qiáng)制奇偶校驗(yàn)/校驗(yàn)0[2]0:每幀1個(gè)停止位;1:每幀2個(gè)停止位[1:0]00:5位;01:6位;10:7位;11:8位UCONn的位功能位描述波特率時(shí)鐘選擇[10]0:使用PCLK,1:使用UEXTCLK發(fā)送中斷請(qǐng)求類型選擇[9]0:脈沖;1:電平接收中斷請(qǐng)求類型選擇[8]0:脈沖;1:電平Rx超時(shí)中斷使能控制[7]0:禁止;1:使能接收錯(cuò)誤狀態(tài)中斷使能控制[6]0:禁止;1:使能回送模式選擇[5]0:正常模式;1:回送模式發(fā)送模式選擇[3:2]00:禁止;01:中斷請(qǐng)求或查詢模式;接收模式選擇[1:0]00:禁止;01:中斷請(qǐng)求或查詢模式;UMCONn的位功能位描述AFC使能[4]0:禁止;1:使能請(qǐng)求發(fā)送[0]0:RTS無效;1:RTS有效等等已定義宏如下:#defineWrUTXH0(ch)(*(volatileunsignedchar*)0x50000020)=(unsignedchar)(ch)#defineRdURXH0()(*(volatileunsignedchar*)0x50000024)程序設(shè)計(jì)(要求加注釋):voidUart_Init(intpclk,intbaud){inti;if(pclk==0)pclk=PCLK;Switch(nchannel){caseUART0://UART0rUFCON0=0x0;//UART0FIFO控制寄存器,F(xiàn)IFO禁止rUMCON0=0x0;//UART0MODEM控制寄存器,AFC禁止rULCON0=0x3;//行控制寄存器:正常模式,無奇偶校驗(yàn),1位停止位,8位數(shù)據(jù)位rUCON0=0x245;//控制寄存器rUBRDIV0=((int)(pclk/16./baud+0.5)-1);//波特率因子寄存器break;caseUART1:...//UART1caseUART2:...//UART2default:break;}for(i=0;i<100;i++);}voidUart_SendByte(intdata){if(whichUart==0){if(data==’\n’){while(?。╮UTRSTAT0&0x2));Delay(10);//延時(shí),與終端速度有關(guān)WrUTXH0(’\r’);}while(!(rUTRSTAT0&0x2));//等待,直到發(fā)送狀態(tài)就緒Delay(10);WrUTXH0(data);}}charUart_GetKey(void){if(whichUart==0){if(rUTRSTAT0&0x1)//UART0接收到數(shù)據(jù)returnRdURXH0();elsereturn0;}}使用S3C2410A的A/D轉(zhuǎn)換器進(jìn)行模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換。寫出初始化函數(shù)和讀取轉(zhuǎn)換結(jié)果的函數(shù)。ADCDAT0位名位描述XPDATA(正常ADC)[9:0]X位置的轉(zhuǎn)換數(shù)據(jù)值(包括正常A/D轉(zhuǎn)換的數(shù)據(jù)值)。取值范圍:0~3FF定義與A/D轉(zhuǎn)換相關(guān)的寄存器#definerADCCON(*(volatileunsigned*)0x58000000)//ADC控制寄存器#definerADCTSC(*(volatileunsigned*)0x58000004)//ADC觸摸屏控制寄存器#definerADCDLY(*(volatileunsigned*)0x58000008)//ADC啟動(dòng)或間隔延時(shí)寄存器#definerADCDAT0(*(volatileunsigned*)0x5800000c)//ADC轉(zhuǎn)換數(shù)據(jù)寄存器0#definerADCDAT1(*(volati1eunsigned*)0x58000010)//ADC轉(zhuǎn)換數(shù)據(jù)寄存器程序設(shè)計(jì)(要求加注釋):S3C2440的bank6使用32位數(shù)據(jù)總線與SDRAM芯片HY57V561620連接,每片SDRAM 為32MB存儲(chǔ)空間,16位數(shù)據(jù)線。試畫出二者之間的連接電路圖。在下圖中SDRAM芯片引腳引出線上標(biāo)出連接到S3C2440芯片上的對(duì)應(yīng)引腳名稱。簡(jiǎn)單描述工作原理:地址總線ADDR[25:24]分別與SDRAM的BA1、BA0連接,選擇芯片內(nèi)部的bank3~bank0。由于數(shù)據(jù)總線為32位,所以地址總線ADDR[1:0]被忽略,地址總線ADDR[14:2]與SDRAM的A[12:0]連接,,傳送行地址和列地址。數(shù)據(jù)總線U6連接低十六位,U7連接高十六位。填空“嵌入性”、“專用性”與“計(jì)算機(jī)系統(tǒng)”是嵌入式系統(tǒng)的三個(gè)基本要素。IP核分為軟核、硬核、固核。嵌入式系統(tǒng)通常由包含有嵌入式處理器、嵌入式操作系統(tǒng)、應(yīng)用軟件和外圍設(shè)備接口的嵌入式計(jì)算機(jī)系統(tǒng)和執(zhí)行裝置(被控對(duì)象)組成。嵌入式計(jì)算機(jī)系統(tǒng)是整個(gè)嵌入式系統(tǒng)的核心,可以分為硬件層、中間層、系統(tǒng)軟件層和應(yīng)用軟件層。硬件層中包含嵌入式微處理器、存儲(chǔ)器、通用設(shè)備接口和I/O接口。嵌入式微處理器是嵌入式系統(tǒng)硬件層的核心。系統(tǒng)初始化過程按照自底向上、從硬件到軟件的次序依次可以分為片級(jí)初始化、板級(jí)初始化和系統(tǒng)級(jí)初始化3個(gè)主要環(huán)節(jié)。系統(tǒng)軟件層通常包含有實(shí)時(shí)多任務(wù)操作系統(tǒng)(Real-timeOperationSystem,RTOS)、文件系統(tǒng)、圖形用戶接口(GraphicUserInterface,GUI)、網(wǎng)絡(luò)系統(tǒng)及通用組件模塊組成。RTOS是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺(tái)。ARM處理器共有37個(gè)寄存器,31個(gè)通用寄存器,6個(gè)狀態(tài)寄存器。寄存器R13通常用作堆棧指針,稱作SP。寄存器R14用作子程序鏈接寄存器,也稱為鏈接寄存器LK(LinkRegister)。FIQ模式有7個(gè)分組的寄存器R8~R14,映射為R8_fiq~R14_fiq。在ARM狀態(tài)下,許多FIQ處理沒必要保存任何寄存器。User、IRQ、Supervisor、Abort和Undefined模式每一種都包含兩個(gè)分組的寄存器R13和R14的映射,允許每種模式都有自己的堆棧和鏈接寄存器。寄存器R15用作程序計(jì)數(shù)器(PC)。在ARM狀態(tài),位[1:0]為0,位[31:2]保存PC。程序狀態(tài)寄存器CPSR的N、Z、C、V分別指-------,I=1指------、F=1指------,M[4:0]用做-------。ARM指令集大致分為6類:分支/跳轉(zhuǎn)指令、存儲(chǔ)器訪問指令、數(shù)據(jù)處理指令、程序狀態(tài)寄存器指令、異常中斷指令、協(xié)處理器指令。指令解析舉例:LDRR0,[R1];將存儲(chǔ)器地址為R1的字?jǐn)?shù)據(jù)讀入寄存器R0。STRR0,[R1],#8;將R0中的字?jǐn)?shù)據(jù)寫入以R1為地址的存儲(chǔ)器中,并將新地址R1+8寫入R1。ADDSR1,R1,#1;加法指令,R1+1=R1影響CPSR寄存器,帶有SLDMFDR13!,{R0,R4-R12,PC};將堆棧內(nèi)容恢復(fù)到寄存器(R0,R4到R12,LR)。S3C2410A的CPU內(nèi)核采用的是16/32位ARM920T內(nèi)核,同時(shí)還采用了AMBA(先進(jìn)的微控制器總線體系結(jié)構(gòu))新型總線結(jié)構(gòu)。ARM920T采用了MMU,AMBA總線和Harvard高速緩存體系結(jié)構(gòu),該結(jié)構(gòu)具有獨(dú)立的16KB指令Cache和16KB數(shù)據(jù)Cache,每個(gè)Cache都是由8字長(zhǎng)的行組成的。2個(gè)USB主設(shè)接口/1個(gè)USB從設(shè)接口117位通用I/O口和24通道外部中斷源;電源控制模式有正常、慢速、空閑和電源關(guān)斷4種模式;ARM處理器支持用戶、快中斷、中斷、管理、中止、系統(tǒng)和未定義等7種處理器模式,除了用戶模式外,其余的均為特權(quán)模式;ARM微處理器支持四種類型的堆棧,即:滿遞增堆棧、滿遞減堆棧、空遞增堆棧、空遞減堆棧。8通道10位ADC和觸摸屏接口;支持?。蠖朔绞紸RM體系結(jié)構(gòu)使用單一、線性地址空間。將字節(jié)地址做為無符號(hào)數(shù)看待,范圍為(0~232-1)。地址空間:8個(gè)存儲(chǔ)器bank,每bank128MB(byte)(總共1GB)。對(duì)于字對(duì)齊的地址A,地址空間規(guī)則要求如下:地址位于A的字由地址為A、A+1、A+2和A+3的字節(jié)組成;地址位于A的半字由地址為A和A+1的字節(jié)組成;地址位于A+2的半字由地址為A+2和A+3的字節(jié)組成;地址位于A的字由地址為A和A+2的半字組成。ARM系統(tǒng)使用存儲(chǔ)器映射I/O。I/O口使用特定的存儲(chǔ)器地址,當(dāng)從這些地址加載(用于輸入)或向這些地址存儲(chǔ)(用于輸出)時(shí),完成I/O功能。bank0~bank6都采用固定的bank起始地址。每個(gè)bank支持可編程的8/16/32位數(shù)據(jù)總線寬度??偩€寬度和等待寄存器BWSCON:用來設(shè)置總線寬的和等待狀態(tài)。Bank控制寄存器BANKCONn:控制各bank的片選,訪問周期。刷新控制寄存器REFRESH:SDRAM的刷新控制寄存器。BANKSIZE寄存器:用來設(shè)置BANK的容量。支持從NANDFlash存儲(chǔ)器和NORFlash兩種啟動(dòng)方式。在NANDFlash模式下,采用4KB內(nèi)部緩沖器用于啟動(dòng)引導(dǎo)Cache存儲(chǔ)器采用寫直達(dá)(Write-through)或?qū)懟兀╓rite-back)操作來更新主存儲(chǔ)器。每個(gè)引腳端的功能通過端口控制寄存器(PnCON)來定義(配置)。與配置I/O口相關(guān)的寄存器包括:端口控制寄存器(GPACON~GPHCON)、端口數(shù)據(jù)寄存器(GPADAT~GPHDAT)、端口上拉寄存器(GPBUP~GPHUP)、雜項(xiàng)控制寄存器以及外部中斷控制寄存器(EXTINTN)等。在ARM系統(tǒng)中,支持復(fù)位、未定義

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論