版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
J、基本概念1、 嵌入式系統(tǒng)是以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。2、 嵌入式處理器可以分為以下幾大類(lèi):嵌入式微處理器;嵌入式微控制器;嵌入式DSP處理器;嵌入式片上系統(tǒng)(SOC)。3、 對(duì)基于芯片的開(kāi)發(fā)來(lái)說(shuō),應(yīng)用程序一般是一個(gè)無(wú)限的循環(huán),可稱(chēng)為前后臺(tái)系統(tǒng)或超循環(huán)系統(tǒng)。循環(huán)中調(diào)用相應(yīng)的函數(shù)完成相應(yīng)的操作,這部分可以看成后臺(tái)行為,后臺(tái)也可以叫做任務(wù)級(jí)。中斷服務(wù)程序處理異步事件,這部分可以看成前臺(tái)行為,前臺(tái)也叫中斷級(jí)。4、 實(shí)時(shí)操作系統(tǒng)是一段在嵌入式系統(tǒng)啟動(dòng)后首先執(zhí)行的背景程序,用戶(hù)的應(yīng)用程序是運(yùn)行于RTOS之上的各個(gè)任務(wù),RTOS根據(jù)各個(gè)任務(wù)的要求,進(jìn)行資源(包括存儲(chǔ)器、外設(shè)等)管理、消息管理、任務(wù)調(diào)度、異常處理等工作。5、 常見(jiàn)的嵌入式操作系統(tǒng)有:嵌入式Linux;WindowsCE;VxWorks;OSE;Nucleus;eCos;mC/OS-II;uITRON。6、 可以把嵌入式系統(tǒng)的開(kāi)發(fā)看作對(duì)一個(gè)項(xiàng)目的實(shí)施。項(xiàng)目的生命周期一般分為識(shí)別需求、提出解決方案、執(zhí)行項(xiàng)目和結(jié)束項(xiàng)目4個(gè)階段。7、 ARM7TDMI處理器使用流水線(xiàn)來(lái)增加處理器指令流的速度。這樣可使幾個(gè)操作同時(shí)進(jìn)行,并使處理和存儲(chǔ)器系統(tǒng)連續(xù)操作,ARM7TDMI的流水線(xiàn)分3級(jí),分別為:取指;譯碼;執(zhí)行。8、 ARM7TDMI處理器內(nèi)核使用V4T版本的ARM結(jié)構(gòu),該結(jié)構(gòu)包含32位ARM指令集和16位Thumb指令集。9、 ARM體系結(jié)構(gòu)支持7種處理器模式,分別為:用戶(hù)模式、快中斷模式、中斷模式、管理模式、中止模式、未定義模式和系統(tǒng)模式。10、 在ARM7TDMI處理器內(nèi)部有37個(gè)用戶(hù)可見(jiàn)的寄存器。在不同的工作模式和處理器狀態(tài)下,程序員可以訪(fǎng)問(wèn)的寄存器也不盡相同。11、 寄存器CPSR為程序狀態(tài)寄存器,在異常模式中,另外一個(gè)寄存器“程序狀態(tài)保存寄存器(SPSR)”可以被訪(fǎng)問(wèn)。每種異常都有自己的SPSR,在進(jìn)入異常時(shí)它保存CPSR的當(dāng)前值,異常退出時(shí)可通過(guò)它恢復(fù)CPSR。12、在異常發(fā)生后,ARM7TDMI內(nèi)核會(huì)作以下工作:①在適當(dāng)?shù)腖R中保存下一條指令的地址;②將CPSR復(fù)制到適當(dāng)?shù)腟PSR中;③將CPSR模式位強(qiáng)制設(shè)置為與異常類(lèi)型相對(duì)應(yīng)的值;④強(qiáng)制PC從相關(guān)的異常向量處取指。12、13、 當(dāng)異常結(jié)束時(shí),異常處理程序必須:①將LR中的值減去偏移量后存入PC,偏移量根據(jù)異常的類(lèi)型而有所不同;②將SPSR的值復(fù)制回CPSR;③清零在入口置位的中斷禁止標(biāo)志;④恢復(fù)CPSR的動(dòng)作會(huì)將T、F和I位自動(dòng)恢復(fù)為異常發(fā)生前的值。14、 當(dāng)nRESET信號(hào)被拉低時(shí),ARM7TDMI處理器復(fù)位;當(dāng)nRESET信號(hào)再次變?yōu)楦唠娖綍r(shí),ARM處理器執(zhí)行下列操作:①?gòu)?qiáng)制M[4:0]變?yōu)閎10011(管理模式);②置位CPSR中的I和F位;③清零CPSR中的T位;④強(qiáng)制PC從地址0x00開(kāi)始對(duì)下一條指令進(jìn)行取指;⑤返回到ARM狀態(tài)并恢復(fù)執(zhí)行。15、 基于ARM內(nèi)核的芯片具有許多的外設(shè),這些外設(shè)訪(fǎng)問(wèn)的標(biāo)準(zhǔn)方法是使用存儲(chǔ)器映射的I/O,為外設(shè)的每個(gè)寄存器都分配一個(gè)地址。通常,從這些地址裝載數(shù)據(jù)用于讀入,向這些地址保存數(shù)據(jù)用于輸出。16、 ARM7TDMI(-S)具有32位ARM指令集和16位Thumb指令集,ARM指令集效率高,但是代碼密度低;而Thumb指令集具有較高的代碼密度,卻仍然保持ARM的大多數(shù)性能上的優(yōu)勢(shì),它是ARM指令集的子集。17、 ARM處理器具有9種基本尋址方式。寄存器尋址;立即尋址;寄存器移位尋址;寄存器間接尋址;基址尋址;多寄存器尋址;堆棧尋址;塊拷貝尋址;相對(duì)尋址。18、 LPC2000系列微控制器包含四大部分:ARM7TDMI-SCPU;ARM7局部總線(xiàn)及相關(guān)部件;AHB高性能總線(xiàn)及相關(guān)部件;VLSI外設(shè)總線(xiàn)及相關(guān)部件19、 LPC2000系列微控制器將ARM7TDMI-S配置為小端模式(Little-endian)。20、 AHB外設(shè)分配了2M字節(jié)的地址范圍,它位于4G字節(jié)ARM尋址空間的最頂端。每個(gè)AHB外設(shè)都分配了16KB的地址空間。21、 LPC2000系列微控制器的外設(shè)功能(除中斷控制器)都連接到VPB總線(xiàn)。AHB到VPB的橋?qū)PB總線(xiàn)與AHB總線(xiàn)相連。VPB外設(shè)也分配了2M字節(jié)的地址范圍,從3.5GB地址點(diǎn)開(kāi)始。每個(gè)VPB外設(shè)都分配了16KB的地址空間。22、 LPC2000系列微控制器的向量中斷控制器(VIC)可以減少中斷的響應(yīng)時(shí)間,最多可以管理32各中斷請(qǐng)求;外部存儲(chǔ)器控制器(EMC)支持4個(gè)BANK的外部SRAM或Flash,每個(gè)BANK最多16MB;23、 LPC2000系列微控制器片內(nèi)Flash編程方法:通過(guò)內(nèi)置JTAG接口;使用UART0通信,通過(guò)在系統(tǒng)編程(ISP);通過(guò)在應(yīng)用編程(IAP);24、 對(duì)于Philips的LPC系列ARM微控制器,存儲(chǔ)器重新映射區(qū)域一共為64字節(jié),分別為異常向量區(qū)(32字節(jié))和緊隨其后的32字節(jié)。存儲(chǔ)器重新映射的方法允許在不同模式下處理中斷,重新映射 的存儲(chǔ)器區(qū)域在地址0x00000000?0X0000003F處。25、 CPU正常工作需要有合適的時(shí)鐘信號(hào),包括ARM7內(nèi)核使用的CCLK時(shí)鐘,和芯片外設(shè)使用的PCLK時(shí)鐘。26、 芯片上電后,品體振蕩器開(kāi)始振蕩。因?yàn)檎袷帍拈_(kāi)始到穩(wěn)定需要一過(guò)程,所以外部復(fù)位信號(hào)至少要保持10ms;在晶體振蕩器保持穩(wěn)定振蕩,或者使用有源鐘振時(shí),外部復(fù)位信號(hào)可以縮短到不小于300ns;27、 EMC模塊支持4個(gè)獨(dú)立配置的存儲(chǔ)器組,每個(gè)存儲(chǔ)器組的總線(xiàn)寬度可設(shè)置為8、16或者32位,但是同一個(gè)存儲(chǔ)器組的器件必須寬度相同。每個(gè)存儲(chǔ)器組最大支持16MB尋址空間。28、 LPC2000系列作為“微控制器”,其GPIO特性就顯得很重要。它具有如下的特性:可以獨(dú)立控制每個(gè)GPIO口的方向(輸入/輸出模式);可以獨(dú)立設(shè)置每個(gè)GPIO的輸出狀態(tài)(高/低電平);所有GPIO口在復(fù)位后默認(rèn)為輸入狀態(tài)。29、 SPI(SerialPeripheralInterface 串行外設(shè)接口)總線(xiàn)系統(tǒng)是一種同步串行外設(shè)接口,一般使用4條線(xiàn):串行時(shí)鐘線(xiàn)SCK、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線(xiàn)MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線(xiàn)MOSI和低電平有效的從機(jī)選擇線(xiàn)SSEL。30、 FLASH存儲(chǔ)器主要分為兩種,一種為NOR型FLASH,另一種為NAND型FLASH;NOR主要應(yīng)用在代碼存儲(chǔ)介質(zhì)中,NAND適合于數(shù)據(jù)存儲(chǔ),31、 pC/OS-II是一個(gè)完整的、可移植、可固化、可剪裁的占先式實(shí)時(shí)多任務(wù)內(nèi)核。32、 pC/OS-II可以管理64個(gè)任務(wù),然而,pC/OS-II的作者建議用戶(hù)保留8個(gè)給pC/OS-II。這樣,留給用戶(hù)的應(yīng)用程序最多可有56個(gè)任務(wù)。
33、 根據(jù)pC/OS-II的要求,移植pC/OS-II到一個(gè)新的體系結(jié)構(gòu)上需要提供2個(gè)或3個(gè)文件:它們是:OS_CPU.H(C語(yǔ)言頭文件);OS_CPU_C.C(C程序源文件);OS_CPU_A.ASM(匯編程序源文件)二、硬件設(shè)計(jì)1、請(qǐng)用結(jié)構(gòu)框圖的形式描述出LPC2000系列ARM微處理器內(nèi)部的各組成部分及它們之間的相互關(guān)系。2、用圖描述出LPC2000系列微處理器存器存儲(chǔ)器地址空間分布圖。4G 3.5G4G 3.5G2G ?1G 0xFFFFFFFF0xF00000000xE00000000x800000000x400000000x000200000x000000003、圖為L(zhǎng)PC2000系列處理器鎖相環(huán)的內(nèi)部結(jié)構(gòu),若系統(tǒng)要求:FOSC=10MHz、CCLK=60MHz;FCCO范圍:156MHz?320MHz,請(qǐng)確定回路鎖定后,PLL配置寄存器(PLLCFG)的MSEL位和PSEL位。答:回路鎖定后,由反饋控制理論知識(shí)可推導(dǎo)出:FOSC=FCCO/(2PXM)FCLK=FOSCXM計(jì)算M值:M=CCLK/FOSC=6;設(shè)置MSEL位:寫(xiě)入值為(M—1)=5;設(shè)置PSEL位:P=FCCO/(CCLKX2)=(156?320)/120=1.3?2.67所以P取整數(shù)2,PSEL寫(xiě)入值為2。4、嵌入式最小系統(tǒng)由哪幾部分構(gòu)成?請(qǐng)畫(huà)出最小系統(tǒng)結(jié)構(gòu)框圖。5、LPC2000系列處理器的外部存儲(chǔ)器控制器包含4個(gè)寄存器BCFG0、BCFG1、BCFG2和BCFG3,它們分別對(duì)應(yīng)一個(gè)存儲(chǔ)器組,請(qǐng)寫(xiě)出每個(gè)寄存器組的地址范圍。Bank地址范圍配置寄存器00x80000000?0x80FFFFFFBCFG010x81000000?0x81FFFFFFBCFG120x82000000?0x82FFFFFFBCFG230x83000000?0x83FFFFFFBCFG3
三、軟件設(shè)計(jì)1、在ARM模式下,請(qǐng)編寫(xiě)一個(gè)完整的匯編語(yǔ)言程序,要求:實(shí)現(xiàn)地址0x40003100中的內(nèi)容從0開(kāi)始,進(jìn)行遞增加1操作,當(dāng)其內(nèi)容大于100時(shí),又重新為0,開(kāi)始下一次循環(huán)。COUNTEQU0x40003100;定義一個(gè)變量,地址為0x40003100AREAExample,CODE,READONLY;聲明代碼段ExampleENTRY;標(biāo)識(shí)程序入口CODE32;聲明32位ARM指令STARTLDRR1,=COUNT;R1<=COUNTMOVR0,#0 ;R0<=0STRR0,[R1] ;[R1]<=R0,即設(shè)置COUNT為0LOOP LDRR1,=COUNTLDRR0,[R1];R0<=[R1]ADDR0,R0,#1;R0<=R0+1CMPR0,#100;R0與10比較,影響條件碼標(biāo)志MOVHSR0,#0;若R0大于等于10,則此指令執(zhí)行,R0<=0STRR0,[R1];[R1]<=R0,即保存COUNTBLOOPEND2、X和n均為無(wú)符號(hào)整數(shù),計(jì)算X的n次方的值,要求采用ARM匯編語(yǔ)言和子函數(shù)調(diào)用的模塊化結(jié)構(gòu)形式編寫(xiě)一個(gè)完整的匯編程序。功能:計(jì)算X的n次方的值說(shuō)明:X和n均為無(wú)符號(hào)整數(shù)
XEQU9;定義X的值為9nEQU8;定義n的值為8AREAExample4,CODE,READONLY;聲明代碼段Example4ENTRY;標(biāo)識(shí)程序入口CODE32;聲明32位ARM指令STARTLDRSP,=0x40003F00 ;設(shè)置堆棧(滿(mǎn)遞減堆棧,使用STMFD/LMDFD指令)LDRLDRBLHALT BR0,=XR1,=nPOWHALT;調(diào)用子程序POW,返回值為R0;名稱(chēng):POW;功能:整數(shù)乘方運(yùn)算。;入口參數(shù):R0 底數(shù); R1 指數(shù);出口參數(shù):R0 運(yùn)算結(jié)果;說(shuō)明:本子程序不考慮溢出問(wèn)題POWSTMFDSP!,{R1-R12,LR};寄存器入棧保護(hù)MOVSR2,R1 ;將指數(shù)值復(fù)制到R2,并影響條件碼標(biāo)志MOVEQR0,#1;若指數(shù)為0,則設(shè)置R0=1BEQPOW_END;若指數(shù)為0,則返回CMPBEQR2,#1POW_END;若指數(shù)為1,則返回。(此時(shí)R0沒(méi)有被更改)MOVR1,R0;設(shè)置DO_MUL子程序的入口參數(shù)R0和R1SUBR2,R2,#1;計(jì)數(shù)器R2=指數(shù)值減1POW_L1BLDO_MUL;調(diào)用DO_MUL子程序,R0=R1*R0SUBSR2,R2,#1;每循環(huán)一次,計(jì)數(shù)器R2減1BNEPOW_L1;若計(jì)數(shù)器R2不為0,跳轉(zhuǎn)到POW_L1POW_ENDLDMFDSP!,{R1-R12,PC} ;寄存器出棧,返回;名稱(chēng):DO_MUL;功能:32位乘法運(yùn)算。;入口參數(shù):R0 乘數(shù); R1被乘數(shù);出口參數(shù):R0 計(jì)算結(jié)果;說(shuō)明:本子程序不會(huì)破壞R1DO_MULMULR0,R1,R0 ;R0=R1*R0MOVPC,LR ;返回END3、采用如圖所示的硬件電路對(duì)蜂鳴器B進(jìn)行控制,采用軟件延時(shí)方法,控制蜂鳴器發(fā)出周期性的蜂鳴聲。MJD3.3
#includeconfig.h#defineBEEPCON0x00000080voidDelayNS(uint32dly)(uint32i;for(;dly>0;dly--)(for(i=0;i<5000;i++);}}intmain(void)(PINSEL0=0x00000000;IO0DIR=BEEPCON;while(1)(IO0SET=BEEPCON;DelayNS(10);IO0CLR=BEEPCON;DelayNS(10);}//P0.7引腳控制B1,//P0.7引腳控制B1,低電平蜂鳴//設(shè)置管腳連接GPIO//設(shè)置I/O為輸出//BEEPCON=1//BEEPCON=04、電路如下圖所示,用處理器的GPIO直接驅(qū)動(dòng)LED;當(dāng)IO口輸出高電平時(shí)LED熄滅,輸出低電平時(shí)LED點(diǎn)亮。請(qǐng)編寫(xiě)相應(yīng)的程序,控制4個(gè)LED產(chǎn)生流水燈效果,即LED1,LED2,LED3,LED4依次點(diǎn)亮。P0.。P0.1#includeconfig.h#defineLEDCON0x0000000fconstuint32DISP_TAB[8]=(0xfffffff1,0xfffffff2,0xfffffff4,0xfffffff8);voidDelayNS(uint32dly)(uint32i;for(;dly>0;dly--)(for(i=0;i<5000;i++);intmain(void)(uint8i;PINSEL0&=0xffffff00;//配置P0.0,P0.1,P0.2,P0.3為GPIOIO0DIR|=LEDCON;//配置LED控制I/O方向while(1)(i=0;for(i=0;i<4;i++)(IO0CLR=DISP_TAB[i];//輸出LED顯示數(shù)據(jù)DelayNS(10); //延時(shí)IO0SET=0xffffffff;}}return(0);}5、某系統(tǒng)的鍵盤(pán)硬件電路如圖所示,采用的處理器為L(zhǎng)PC2000系列處理器,請(qǐng)編寫(xiě)該系統(tǒng)的鍵盤(pán)服務(wù)程序。KEY3R1P0.19/KEY3KEY4C O OKEY?<' KEY3R1P0.19/KEY3KEY4C O OKEY?<' O OKEY6220RR2220RR3P0.20/KEY4P0.21/KEY5220RR4<■ O。 1=220RP0.22/KEY6V>GNDvoidKeylnit(void){PINSEL1&=~(0xff<<6); //設(shè)置P0.19,P0.20,P0.21,P0.22為GPIO模式FIO0DIR&=~(0x0f<<19); //設(shè)置P0.19,P0.20,P0.21,P0.22為GPIO輸入模式PINMODE1&=~(0xff<<6); //設(shè)置P0.19,P0.20,P0.21,P0.22為片內(nèi)上拉電阻}uint32ReadKeyValue(void){return(~(FIO0PIN>>19)&0x0000000f);}voidCsyKeyServer(uint32KeyValue) //按鍵處理程序?qū)嶓w代碼{uint32InputKey
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國(guó)大中型拖拉機(jī)市場(chǎng)發(fā)展前景調(diào)研及投資戰(zhàn)略分析報(bào)告
- 2024-2030年中國(guó)壓力繼電器行業(yè)競(jìng)爭(zhēng)動(dòng)態(tài)與投資效益預(yù)測(cè)報(bào)告
- 2024年版股份有限公司并購(gòu)協(xié)議標(biāo)準(zhǔn)格式版B版
- 2024年某教育機(jī)構(gòu)與某科技公司關(guān)于在線(xiàn)教育平臺(tái)合作的合同
- 梅河口康美職業(yè)技術(shù)學(xué)院《材料工程基礎(chǔ)A》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年特許經(jīng)營(yíng)合同涉及連鎖餐飲業(yè)
- 2024年度施工現(xiàn)場(chǎng)安全生產(chǎn)設(shè)施檢測(cè)與維修協(xié)議3篇
- 2024年塔吊設(shè)備維護(hù)保養(yǎng)與操作人員培訓(xùn)勞務(wù)分包合同2篇
- 2025年道路貨運(yùn)運(yùn)輸駕駛員從業(yè)資格證模擬考試
- 2025年西寧貨運(yùn)從業(yè)資格證模擬考試題及答案解析大全
- 2023年遼寧省工程咨詢(xún)集團(tuán)有限責(zé)任公司校園招聘筆試題庫(kù)及答案解析
- 癃閉醫(yī)學(xué)課件
- 《商業(yè)文化倫理(第二版)》第九講商業(yè)企業(yè)管理中的倫理
- 三年級(jí)上冊(cè)英語(yǔ)課件-Unit6 Happy birthday -人教(PEP) (18)(共17張PPT)
- 家校共育培訓(xùn)課件
- 《謎一樣的男人》
- 【教學(xué)課件】選必中第一單元單元概覽
- 印尼公司法中文版
- 寵物血液生化檢驗(yàn)及其意義課件
- 電梯安全員培訓(xùn)范文通用12篇
- 人工智能(全套課件)
評(píng)論
0/150
提交評(píng)論