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

下載本文檔

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

文檔簡介

什么是嵌入式系統(tǒng)?

總復(fù)習(xí)

嵌入式系統(tǒng)用于對功能、可靠性、成本、體積、功耗等有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)簡而言之,它是完成特定任務(wù)的計(jì)算機(jī)系統(tǒng)嵌入式系統(tǒng)組成 序等四個(gè)部分組成嵌入式計(jì)算機(jī)系統(tǒng)同通用型計(jì)算機(jī)系統(tǒng)相比嵌入式系統(tǒng)通常是面向特定應(yīng)用的 行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物 余(專用性) 體產(chǎn)品同步進(jìn)行 在存儲器芯片或單片機(jī)本身中嵌入式系統(tǒng)本身不具備自主開發(fā)能力處理器的選擇要考慮的主要因素處理性能(如時(shí)鐘頻率、寄存器大小等)技術(shù)指標(biāo)(外圍設(shè)備、支持芯片等)功耗(特別是手持設(shè)備等消費(fèi)類電子產(chǎn)品)軟件支持工具是否內(nèi)置調(diào)試工具供應(yīng)商是否提供評估板RISC架構(gòu)的ARM微處理器的特點(diǎn)體積小、低功耗、低成本、高性能 支持Thumb(16位(32位)位/16位器件大量使用寄存器,指令執(zhí)行速度快大多數(shù)數(shù)據(jù)操作都在寄存器中完成尋址方式靈活簡單,執(zhí)行效率高采用固定長度的指令格式

XScale處理器XScale處理器是基于ARMv5TE能、高性價(jià)比、低功耗的處理器ARM->XScale->PXA270PXA255處理器 采用Xscale內(nèi)核(微結(jié)構(gòu)體系框架),高性能、低功耗、功能強(qiáng)大的嵌入式應(yīng)用處理器產(chǎn)品。常用的嵌入式操作系統(tǒng)嵌入式Linux,WindowsCE,Symbian,VxWorks,QNX,Palm,等常用Linux命令lsdirtarrmdircdcpviXScale微架構(gòu)處理器的主要特征采用了級超級流水線、動態(tài)跳轉(zhuǎn)預(yù)測和轉(zhuǎn)移目標(biāo)緩沖器BTB技術(shù)TargetBuffer);支持多媒體處理技術(shù)、新增乘累加器、40位累加器、兼容ARMV5TE和特定DSP型處理器CP0。采用了32KB的指令cache。采用了32KB的數(shù)據(jù)cache。另外增加了微小型數(shù)據(jù)cache和微小型指令cache。指令存儲器管理單元I-MMU和數(shù)據(jù)存儲器管理單元D-MMU。7級超級流水線主流水線MAC流水線內(nèi)存訪問流水線MMU:MemoryManagementUnit內(nèi)存管理單元,提供內(nèi)存訪問保護(hù)和虛擬地址到物理地址的轉(zhuǎn)換BTB:BranchTargetBuffer轉(zhuǎn)移目標(biāo)緩沖器,用來預(yù)測分支類型指令的結(jié)果,它提供分支類型指令的目標(biāo)地址的存儲和預(yù)測下一個(gè)出現(xiàn)在指令cache中的地址。XScale的調(diào)試模塊通訊控制模塊通過JTAG指令來建立目標(biāo)機(jī)和宿主機(jī)的握手硬件斷點(diǎn)模塊有指令和數(shù)據(jù)斷點(diǎn)寄存器,由協(xié)處理器控制跟蹤緩沖模塊對程序歷史記錄以實(shí)現(xiàn)恢復(fù)異常和跳轉(zhuǎn)代碼下載模塊代碼下載到I-Cache,調(diào)試代理程序?qū)崿F(xiàn)讀/寫運(yùn)行模式快速模式(CCCR的N)

電源管理模塊空閑模式:空閑模式?jīng)]有改變時(shí)鐘的產(chǎn)生。應(yīng)用程序選擇PWRMODE寄存器的M段來選擇空閑方式。33MHz空閑模式:在33MHz能使用包括SDRAM、LCD和DMA控制器 塊繼續(xù)工作。通過使用PWRMODE寄存器來進(jìn)入睡眠模式 脈寬調(diào)制WidthModulation)為PWMPXA255的DMACDMAC有16個(gè)通道,從通道0到通道15BOOTP協(xié)議BOOTP服務(wù)的全稱是BootStrapProtocol使用TCP/IPUDP67/68兩個(gè)通訊端口 Bootp主要用于客戶機(jī)從服務(wù)器獲得自己的IP地址,服務(wù)器的IP常用到的DHCP服務(wù)就是從BOOTP服務(wù)擴(kuò)展而來的如何配置BOOTP協(xié)議?(1)在宿主機(jī)上安裝xinetd(2)在宿主機(jī)上安裝BOOTP(3)生成和設(shè)置bootptab文件TFTP服務(wù)的全稱是TrivialFileTransferProtocolTFTP可以看成一個(gè)簡化了的FTP特點(diǎn)

TFTP協(xié)議TFTP承載在UDP機(jī)制,使用超時(shí)重傳方式來保證數(shù)據(jù)的到達(dá)最普遍使用的是第二版Version2,RFC1350)UDP的67端口TFTP在安裝時(shí)一定要設(shè)立一個(gè)單獨(dú)的目錄作為服務(wù)的根目錄,以減少安全隱患編譯交叉編譯交叉編譯就是在一個(gè)架構(gòu)下編譯另一個(gè)架構(gòu)的目標(biāo)文件Make工具make是LinuxMakefile改情況,自動判斷應(yīng)該對那些模塊重新編譯,從而保證軟件是由最新的模塊構(gòu)成。MakefileMakefile一個(gè)makefile由依賴關(guān)系、規(guī)則指令三部分內(nèi)容組成依賴關(guān)系由一個(gè)目標(biāo)和一組該目標(biāo)所依賴的源文件組成規(guī)則用來說明怎樣使用所依賴得文件來建立目標(biāo)文件什么是BootLoader?

BootloaderBootLoader就是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序初始化硬件設(shè)備和建立內(nèi)存空間的映射圖將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境主要功能初始化硬件,例如CPUclock,Memorytiming,interrupt,UART和GPIO。啟動Linux。這是Bootload最重要的功能,它將內(nèi)核映像復(fù)制到SDRAM地址處下載Image。下載內(nèi)核和文件映像到SDRAM中。下載只能夠通過以太網(wǎng)Flash存儲器管理。用write,erase,lock,unlock等命令管理FLASH存儲器BootLoader的操作模式啟動加載模式下載模式BootLoader與主機(jī)之間的通信設(shè)備及協(xié)議最常見的是串口,協(xié)議xmodem/ymodem/zmodem以太網(wǎng),協(xié)議tftpLoader的總目標(biāo)就是正確地調(diào)用內(nèi)核來執(zhí)行大多數(shù)BootLoader都分為階段1和階段2兩大部分階段1實(shí)現(xiàn)依賴于CPU(匯編)階段2實(shí)現(xiàn)一些復(fù)雜的功能(C語言)BootLoader的階段1通常包括以下步驟1)硬件設(shè)備初始化。2)為加載階段2準(zhǔn)備RAM空間3)拷貝階段2到RAM中4)設(shè)置堆棧指針sp5)跳轉(zhuǎn)到階段2的C入口點(diǎn)階段2介紹1)初始化本階段要使用到的硬件設(shè)備2)檢測系統(tǒng)的內(nèi)存映射3)加載內(nèi)核映像和根文件系統(tǒng)映像4)設(shè)置內(nèi)核的啟動參數(shù)5)調(diào)用內(nèi)核ARM處理器的7種運(yùn)行狀態(tài)(模式)用戶狀態(tài)(User)快中斷狀態(tài)(FIQ,FastImterruptRequest)中斷狀態(tài)(IRQ,ImterruptRequest)監(jiān)管狀態(tài)(Supervisor)終止?fàn)顟B(tài)(Abort)無定義狀態(tài)(Undefined)系統(tǒng)狀態(tài)(System)MMU?MMU,也就是“內(nèi)存管理單元”,其主要作用是兩個(gè)方面:地址映射對地址訪問的保護(hù)和限制MMU可以做在芯片中,也可以作為協(xié)處理器什么是馮諾依曼結(jié)構(gòu)?“哈佛結(jié)構(gòu)”?馮·一個(gè)存儲器中嵌入式系統(tǒng)中往往采用程序和數(shù)據(jù)兩個(gè)存儲器、兩條總線的系統(tǒng)結(jié)構(gòu),稱為“哈佛結(jié)構(gòu)”系統(tǒng)中的地址映射方式?ARM系統(tǒng)結(jié)構(gòu)中,地址映射可以是單層的按“段(section)”映射,也可以是二層的頁面映射Linux虛擬內(nèi)存的實(shí)現(xiàn)需要6種機(jī)制的支持:地址映射機(jī)制內(nèi)存分配回收機(jī)制緩存和刷新機(jī)制請求頁機(jī)制交換機(jī)制內(nèi)存共享機(jī)制虛擬內(nèi)存提供以下功能?廣闊的地址空間進(jìn)程的保護(hù)內(nèi)存映射公平的物理內(nèi)存分配共享虛擬內(nèi)存中斷是一個(gè)流程,一般來說要經(jīng)過三個(gè)環(huán)節(jié):中斷響應(yīng)中斷處理中斷返回GPIO?GPIO是一個(gè)通用的可編程的I/O設(shè)置用于輸入或者輸出ARM-Linux系統(tǒng)調(diào)用處理過程?arm處理器有自陷指令SWIcpu遇到自陷指令后,跳轉(zhuǎn)到內(nèi)核態(tài)操作系統(tǒng)首先保存當(dāng)前運(yùn)行的信息,然后根據(jù)系統(tǒng)調(diào)用號查找相應(yīng)的函數(shù)去執(zhí)行執(zhí)行完了以后恢復(fù)原先保存的運(yùn)行信息返回系統(tǒng)的啟動和初始化過程?(1)使用bootloader將內(nèi)核映像載入 (2)內(nèi)核數(shù)據(jù)結(jié)構(gòu)初始化(內(nèi)核引導(dǎo)第一部分)了一系列初始化函數(shù),以完成kernel本身的設(shè)置(3)外設(shè)初始化Linux進(jìn)程有5種狀態(tài)TASK_RUNNINGTASK_INTERRUPTIBLETASK_UNINTERRUPTIBLETASK_ZOMBIETASK_STOPPEDLinux進(jìn)程調(diào)度Linux進(jìn)程調(diào)度由函數(shù)schedule()五步清理當(dāng)前運(yùn)行中的進(jìn)程選擇下一個(gè)投入運(yùn)行的進(jìn)程設(shè)置新進(jìn)程的運(yùn)行環(huán)境執(zhí)行進(jìn)程上下文切換后期整理Linux調(diào)度的時(shí)機(jī)有兩種:(1)在內(nèi)核應(yīng)用中直接調(diào)用schedule()等待內(nèi)核時(shí)間而需要將進(jìn)出那個(gè)掛起(2)被動調(diào)用schedule()系統(tǒng)調(diào)用結(jié)束,內(nèi)核態(tài)->用戶態(tài),且need_resched1與Linux模塊相關(guān)的命令lsmod kernel中已經(jīng)安裝的modules列出來insmod modulekernel中rmmod 把某個(gè)沒在用的module從kernel中卸載depmod 制造moduledependency,以告訴將來的insmod要去哪兒找modules來安裝兩種技術(shù)NAND和NOR什么是JFFSYAFFSLinux文件系統(tǒng)有兩條獨(dú)立控制設(shè)備驅(qū)動的途徑通過設(shè)備驅(qū)動的接口通過文件管理器接口Linux文件系統(tǒng)的組織?

FlashMemory文件系統(tǒng)在UNIX操作系統(tǒng)中,磁盤上的文件大致是按照樹的形式來組織的一個(gè)文件系統(tǒng)只有一個(gè)根目錄ramfsramfs(VFSramdisk樣基于虛擬在內(nèi)存中的其他文件系統(tǒng)(ex2fs)。因而,它無需格式化,可以創(chuàng)建多個(gè),只要內(nèi)存足夠,在創(chuàng)建時(shí)可以指定其最大能使用的內(nèi)存大小。NFSNFS運(yùn)行幾個(gè)程序。GDB是GNU自帶的調(diào)試工具,使用GDB可以完成下面這些任務(wù):運(yùn)行程序,可以給程序加上所需的調(diào)試任何條件在給定的條件下讓程序停止檢查程序停止時(shí)的運(yùn)行狀態(tài)通過改變一些數(shù)據(jù),可以更快地改正程序的錯(cuò)誤C/C++的程序,首先在編譯時(shí),我們必須要把調(diào)試信息加到可執(zhí)行文件中。使用編譯器(cc/gcc/g++)的-g 參可以做到這一點(diǎn)。遠(yuǎn)程調(diào)試 定硬件平臺的嵌入式操作系統(tǒng)(目標(biāo)操作系統(tǒng))插樁(stub)方案 試。 接口,并改寫異常處理的有關(guān)部分設(shè)備驅(qū)動的功能對設(shè)備的初始化和釋放把數(shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù)讀取應(yīng)用程序傳送給設(shè)備文件的數(shù)據(jù)和回送應(yīng)用程序請求的數(shù)據(jù)檢測和處理設(shè)備出現(xiàn)的錯(cuò)誤Linux設(shè)備的分類字符設(shè)備塊設(shè)備網(wǎng)絡(luò)設(shè)備設(shè)備文件Linux抽象了對硬件的處理,所有的硬件設(shè)備都可以作為普通文件一樣來看待I/O控制操作對用戶來說,設(shè)備文件與普通文件并無區(qū)別主設(shè)備號:標(biāo)識該設(shè)備的種類,也標(biāo)識了該設(shè)備所使用的驅(qū)動程序次設(shè)備號標(biāo)識使用同一設(shè)備驅(qū)動程序的不同硬件設(shè)備[root@wzchent]#mknod /dev/lp0 c 6 0Linux的設(shè)備驅(qū)動程序與外界的接口可以分成三部分:與操作系統(tǒng)內(nèi)核的接口與系統(tǒng)引導(dǎo)的接口與設(shè)備的接口Linux設(shè)備驅(qū)動程序的代碼結(jié)構(gòu)大致可以分為如下幾個(gè)部分驅(qū)動程序的注冊與注銷設(shè)備的打開與釋放設(shè)備的讀寫操作設(shè)備的控制操作設(shè)備的中斷和輪詢處理Linux內(nèi)核將通過file_operations結(jié)構(gòu)訪問驅(qū)動程序提供的函數(shù)GUIGraphicalUserInterface的簡稱,即圖形用戶接口嵌入式GUI設(shè)計(jì)一般來說包括個(gè)方面硬件設(shè)計(jì),通過LCD控制器把LCD顯示器和開發(fā)系統(tǒng)連接起來。驅(qū)動程序設(shè)計(jì),為輸出輸入設(shè)備如LCD設(shè)計(jì)驅(qū)動程序,使硬件能驅(qū)動起來用戶界面程序設(shè)計(jì),使用嵌入式系統(tǒng)提供的函數(shù)庫進(jìn)行圖形化程序設(shè)計(jì)較流行的圖形用戶界面GUIQ

溫馨提示

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

評論

0/150

提交評論