最全嵌入式學習資料剖析_第1頁
最全嵌入式學習資料剖析_第2頁
最全嵌入式學習資料剖析_第3頁
最全嵌入式學習資料剖析_第4頁
最全嵌入式學習資料剖析_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

嵌入式總復習1.1知識要點明白嵌入式系統設計的三個階段:分析測試實現了解目前典型的嵌入式實時系統。明白RISC指令系統的相關知識,以及基于RISC架構的ARM微處理器的一般特點。ARM處理器支持的工作運行模式,及各種運行模式的意義。2處理器模式說明備注用戶(usr)正常程序執行模式不能直接切換到其它模式系統(sys)運行操作系統的特權任務與用戶模式類似,但具有可以直接切換到其它模式等特權快中斷(fiq)支持高速數據傳輸及通道處理FIQ異常響應時進入此模式中斷(irq)用于通用中斷處理IRQ異常響應時進入此模式管理(svc)操作系統保護模式系統復位和軟件中斷響應時進入此模式中止(abt)用于支持虛擬內存和/或存儲器保護在ARM7TDMI沒有大用處未定義(und)支持硬件協處理器的軟件仿真未定義指令異常響應時進入此模式.1知識要點3.1知識要點微處器的流水線技術、基本尋址方式。了解其它的微處理器的特點。XScale微處理器StrongARM微處理器SecurCore微處理器嵌入式系統的存儲器系統基礎知識。存儲器的層次結構高速緩存存儲管理單元MMU嵌入式系統存儲分類數據的大小端存儲格式等。4.1知識要點三星S3C2410處理器知識:結構與特點復位后的存儲器映射I/O口配置及各種寄存器的定義中斷控制與編程掌握算法基礎,能利用處理器自身特點設計高效算法程序。5[不使用NANDFlash作為啟動ROM][使用NANDFlash]作為啟動ROM]注意:①SROM表示是ROM或SRAM類型的存儲器;②SFR指特殊功能寄存器。圖3.2.1S3C2410A復位后的存儲器映射6表3.2.1bank6和bank7地址注:bank6和bank7必須具有相同的存儲器大小。7.1知識要點A/D轉換器工作原理及評價指標,計數器的工作原理。嵌入式系統的任務管理知識:進程線程任務調度算法等。掌握嵌入式系統中的重要專有名詞英文縮寫的含義:MPU、MCU、ARM、ARM9TDMI、SOC、AMBA、ASB、APB、GUI、RAM、ROM、IP、API、BIOS、SPI等8.1知識要點嵌入式網絡接口基本知識曼徹斯特編碼差分曼徹斯特編碼繪制相應時序圖。掌握嵌入式系統中的重要專有名詞英文縮寫的含義:MPU、MCU、ARM、ARM9TDMI、SOC、AMB、GUI、RAM、ROM、IP、API、BIOS、SPI等9.1知識要點Bootloader相關知識Bootloader的含義Bootloader的作用Bootloader的兩種工作模式及相應作用(啟動模式和下載模式)Bootloader的兩個階段的具體內容(每個階段所包含的5個過程)利用具體的bootloader去解析這兩個階段,主要是vivi的啟動過程。10.1知識要點嵌入式Linux的常用命令。lsmountifconfigcpcdPwd模塊操作命令:insmod,rmmod,lsmod編譯命令vi操作的相應命令等11.1知識要點嵌入式Linux軟件設計知識設備驅動程序的設計應用程序的基本知識交叉開發環境基礎知識設計過程Bootloader移植與內核移植等12.1知識要點GUI設計的基礎知識掌握嵌入式Linux系統GUI及主要特點了解miniGUI及QT開發等13.2實例解析中斷編程實例曼徹斯特編碼14S3C2410A的中斷編程實例本小節介紹一個通過定時器1控制一個led燈每1秒鐘改變一次狀態,需要完成的主要工作如下。(1)對定時器1初始化,并設定定時器的中斷時間為1,具體代碼參見Timer1_init()函數。 voidTimerl_init(void){ rGPBCON=rGPBCON&0xfffffffc|0x00000001; rGPBDAT=rGPBDAT|0x001; rTCFG0=255; rTCFG1=0<<4; rTCNTB1=48828;//在pclk=50MHz下,1s的記數值rTCNTB1=50000000/4/256=48828; rTCMPB1=0x00; rTCON=(1+11)|(1<<9)|(0<<8);//禁用定時器1 rTCON=(1+11)|(0<<9)|(1<<8);//啟動定時器1 }15(2)為了使CPU響應中斷,在中斷服務子程序執行之前,必須打開ARM920T的CPSR中的I位,以及相應的中斷屏蔽寄存器中的位。打開相應的中斷屏蔽寄存器中的位,是在TimerlINTInit()函數中實現的,具體代碼如下。 voidTimerlINT_Init(void){//定時器接口使能 if((rINTPND&BIT_TIMERI)) { rSRCPND|=BIT_TIMER1; } pISR_TMER1=(int)Timerl_ISR;//寫入定時器1中斷服務子程序的入口地址 rINTMSK&=~(BIT_TIMERI);//開中斷; }(3)等待定時器中斷,通過一個死循環,如“while(1);”實現等待過程。(4)根據設置的定時時間,產生定時器中斷。中斷發生后,首先進行現場保護,然后轉人中斷的入口代碼處執行。該部分代碼通常使用匯編語言編寫。在執行中斷服務程序之前,要確保HandleIRQ地址處保存中斷分發程序IsrIRQ的入口地址,代碼如下。16 ldrr0,=HandleIRQ ldrr1,=IsrIRQ strr1,[r0〕 接下來將執行IsrIRQ中斷分發程序,具體代碼如下。 IsrIRQ subsp,sp,#4;//為保存PC預留堆棧空間 stmfdsp!,{r8-r9} ldrr9,=INTOFFSET ldrr9,[r9];//加載INTOFFSET寄存器值到r9 ldrr8,=HandleEINT0;//加載中斷向量表的基地址到r8 addr8,r8,r9,lsl#2;//獲得中斷向量 ldrr8,[r8];//加載中斷服務程序的入口地址到r8 strr8,[sp,#8];//保存sp,將其作為新的pc值 ldmfdsp!,(r8-r9,pc};//跳轉到新的pc處執行,即跳轉到中斷服務子程序執行中斷編程實例17(5)執行中斷服務子程序,該子程序實現led燈每一秒鐘改變一次狀態。看到LEDl燈閃爍一次,則說明定時器發生了一次中斷。具體實現見函數Timerl_ISR()。 intf;

void__irqTimer1_ISR(void) { If(f==0) {rGPBDAT=rGPBDAT|0x001; f=1; } elseif(f==1) {rGPBDAT=rGPBDAT&0x0; f=0; } rSRCPND|=BIT_TIMER1; rINTPND|=BIT_TIMER1; }(6)從中斷返回,恢復現場,跳轉到被中斷的主程序繼續執行,等待下一次中斷的到來。18中斷編程實例如果使用兩個LED控制的情況下,可以將代碼進行適當修改。rGPGCON=rGPGCON&0xfff0ffff|0x00050000;//配置第8、第9位為輸出引腳rGPGDAT=rGPGDAT&0xeff|0x200;//第8位輸出為低電平第9位輸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論