版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上嵌入式系統(tǒng)設(shè)計(jì)復(fù)習(xí)第一章 嵌入式系統(tǒng)概述提綱:1、 掌握嵌入式系統(tǒng)的定義以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗、實(shí)時(shí)性嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。2、 了解嵌入式系統(tǒng)的一般組成硬件:CPU、Memory、I/O軟件:RTOS、文件系統(tǒng)、GUI和應(yīng)用軟件等知識(shí)點(diǎn):1、 嵌入式系統(tǒng)的定義與特點(diǎn)以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗、實(shí)時(shí)性嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。2、RISC指令系統(tǒng)的特點(diǎn) 優(yōu)點(diǎn):縮小內(nèi)核體積,降低功耗 缺點(diǎn):復(fù)雜功能的實(shí)現(xiàn)效率低3、 嵌入式系統(tǒng)由硬件
2、與軟件組成,其中軟件的組成RTOS、文件系統(tǒng)、GUI和應(yīng)用軟件4、嵌入式系統(tǒng)的運(yùn)行可靠性指標(biāo) 平均無(wú)故障時(shí)間5、嵌入式操作系統(tǒng)的種類,最方便移植的操作系統(tǒng)Linux、VxWorks、WinCE、Palm、C/OS-II、eCos.最方便移植的是Linux。6、根據(jù)嵌入式系統(tǒng)使用的微處理器,嵌入式系統(tǒng)的分類嵌入式微控制器、嵌入式微處理器、嵌入式DSP處理器以及片上系統(tǒng)。7、實(shí)時(shí)嵌入式操作系統(tǒng)RTOS的特點(diǎn)一、時(shí)間約束性實(shí)時(shí)系統(tǒng)的任務(wù)具有一定的時(shí)間約束(截止時(shí)間)。根據(jù)截止時(shí)間,實(shí)時(shí)系統(tǒng)的實(shí)時(shí)性分為“硬實(shí)時(shí)”和“軟實(shí)時(shí)”。硬實(shí)時(shí)是指應(yīng)用的時(shí)間需求能夠得到完全滿足,否則就造成重大安全事故,甚至造成重
3、大的生命財(cái)產(chǎn)損失和生態(tài)破壞,如在航空航天、軍事、核工業(yè)等一些關(guān)鍵領(lǐng)域中的應(yīng)用。軟實(shí)時(shí)是指某些應(yīng)用雖然提出時(shí)間需求,但實(shí)時(shí)任務(wù)偶爾違反這種需求對(duì)系統(tǒng)運(yùn)行及環(huán)境不會(huì)造成嚴(yán)重影響,如監(jiān)控系統(tǒng)等和信息采集系統(tǒng)等。二、可預(yù)測(cè)性可預(yù)測(cè)性是指系統(tǒng)能夠?qū)?shí)時(shí)任務(wù)的執(zhí)行時(shí)間進(jìn)行判斷,確定是否能夠滿足任務(wù)的時(shí)限要求。由于實(shí)時(shí)系統(tǒng)對(duì)時(shí)間約束要求的嚴(yán)格性,使可預(yù)測(cè)性稱為實(shí)時(shí)系統(tǒng)的一項(xiàng)重要性能要求。除了要求硬件延遲的可預(yù)測(cè)性以外,還要求軟件系統(tǒng)的可預(yù)測(cè)性,包括應(yīng)用程序的響應(yīng)時(shí)間是可預(yù)測(cè)的,即在有限的時(shí)間內(nèi)完成必須的工作;以及操作系統(tǒng)的可預(yù)測(cè)性,即實(shí)時(shí)原語(yǔ)、調(diào)度函數(shù)等運(yùn)行開銷應(yīng)是有界的,以保證應(yīng)用程序執(zhí)行時(shí)間的有界性。三
4、、可靠性大多數(shù)實(shí)時(shí)系統(tǒng)要求有較高的可靠性。在一些重要的實(shí)時(shí)應(yīng)用中,任何不可靠因素和計(jì)算機(jī)的一個(gè)微小故障,或某些特定強(qiáng)實(shí)時(shí)任務(wù)(又叫關(guān)鍵任務(wù))超過(guò)時(shí)限,都可能引起難以預(yù)測(cè)的嚴(yán)重后果。為此,系統(tǒng)需要采用靜態(tài)分析和保留資源的方法及冗余配置,使系統(tǒng)在最壞情況下都能正常工作或避免損失??煽啃砸殉蔀楹饬繉?shí)時(shí)系統(tǒng)性能不可缺少的重要指標(biāo)。四、與外部環(huán)境的交互作用性實(shí)時(shí)系統(tǒng)通常運(yùn)行在一定的環(huán)境下,外部環(huán)境是實(shí)時(shí)系統(tǒng)不可缺少的一個(gè)組成部分。計(jì)算機(jī)子系統(tǒng)一般是控制系統(tǒng),它必須在規(guī)定的時(shí)間內(nèi)對(duì)外部請(qǐng)求做出反應(yīng)。外部物理環(huán)境往往是被控子系統(tǒng),兩者互相作用構(gòu)成完整的實(shí)時(shí)系統(tǒng)。大多數(shù)控制子系統(tǒng)必須連續(xù)運(yùn)轉(zhuǎn)以保證子系統(tǒng)的正常
5、工作或準(zhǔn)備對(duì)任何異常行為采取行動(dòng)。 8、嵌入式系統(tǒng)與PC機(jī)的比較1. 底層嵌入式硬件??紤]到成本和體積,嵌入式硬件是資源嚴(yán)重受限的,CPU處理速度沒(méi)有一般電腦快,存儲(chǔ)空間也沒(méi)有一般電腦大。 2. 嵌入式操作系統(tǒng)(Threadx, Linux, VxWorks等等),一般都是小型化的內(nèi)核,體積比Windows小很多,并且可根據(jù)應(yīng)用需求靈活裁剪。 3. 嵌入式應(yīng)用程序,基于嵌入式處理器(ARM, PowerPC等)架構(gòu)編譯出來(lái)的,不能在Windows端運(yùn)行。嵌入式系統(tǒng)(簡(jiǎn)稱“嵌”)和通用計(jì)算機(jī)(簡(jiǎn)稱“通”)的主要區(qū)別包括以下幾點(diǎn):1. 形式與類型 “通”:實(shí)實(shí)在在的計(jì)算機(jī)。按其體系結(jié)構(gòu)、
6、運(yùn)算速度和規(guī)??煞譃榇笮蜋C(jī)、中型機(jī)、小型機(jī)和微機(jī) “嵌”:“看不見(jiàn)”的計(jì)算機(jī),形式多樣,應(yīng)用領(lǐng)域廣泛,按應(yīng)用進(jìn)行分類2. 組成 “通”:通用處理器、標(biāo)準(zhǔn)總線和外設(shè)、軟硬件相對(duì)獨(dú)立 “嵌”:面向特定應(yīng)用的微處理器,總線和外設(shè)一般集成在處理器內(nèi)部,軟硬件緊密結(jié)合3. 系統(tǒng)資源 “通”:系統(tǒng)資源充足,有豐富的編譯器、集成開發(fā)環(huán)境、調(diào)試器等 “嵌”:系統(tǒng)資源緊缺,沒(méi)有編譯器等相關(guān)開發(fā)工具4. 開發(fā)方式 “通”:開發(fā)平臺(tái)和運(yùn)
7、行平臺(tái)都是通用計(jì)算機(jī) “嵌”:采用交叉編譯方式,開發(fā)平臺(tái)一般是通用計(jì)算機(jī),運(yùn)行平臺(tái)是嵌入式系統(tǒng)5. 二次開發(fā)性 “通”:應(yīng)用程序可重新編程 “嵌”:一般不能重新編程開發(fā)6. 發(fā)展目標(biāo) “通”:編程功能電腦,普遍進(jìn)入社會(huì) “嵌”:變?yōu)閷S秒娔X,實(shí)現(xiàn)“普及計(jì)算” 第二章 ARM體系結(jié)構(gòu)提綱:1、 掌握ARM的7種工作模式,熟
8、悉其模式的工作入口表3-2用戶模式(usr)快速中斷模式(fiq)外部中斷模式(irq)特權(quán)模式(sve)數(shù)據(jù)訪問(wèn)中止模式(abt)未定義指令終止模式(und)系統(tǒng)模式(sys)地址異常異常發(fā)生后內(nèi)核進(jìn)入的模式異常的優(yōu)先級(jí)(6最低)0x0000復(fù)位管理模式10x0004未定義指令未定義模式60x0008軟件中斷管理模式60x000C中止(預(yù)取指令)中止模式50x0010中止(數(shù)據(jù))中止模式20x0014保留保留保留0x0018IRQIRQ模式40x001CFIQFIQ模式32、 熟悉不同模式下寄存器的應(yīng)用P72圖3-23、掌握通用寄存器的組成,尤其是R13、R14、R1531個(gè)通用寄存器,R0
9、R7是所有處理器模式共用的一組寄存器,R8R14為備份寄存器R13:堆棧指針R14:鏈接寄存器R15:PC(PC=PC+4)4、 掌握狀態(tài)寄存器的組成,尤其是NZCV四位的作用N=1:結(jié)果為負(fù);Z=1:結(jié)果為零;C=1:有進(jìn)位;V=1:結(jié)果溢出;T=0:ARM狀態(tài);T=1:Thumb狀態(tài);ARM指令集32位,Thumb指令集16位,Thumb不能直接在CPU里運(yùn)行,需要解壓縮。CPSR各模式共有,異常模式下才有SPSR。5、 熟悉ARM支持的存儲(chǔ)器結(jié)構(gòu),大尾端與小尾端ARM默認(rèn)小尾端。小尾端:高位數(shù)據(jù)放高位地址,低位數(shù)據(jù)放低位地址。大尾端:高位數(shù)據(jù)放低位地址,低位數(shù)據(jù)放高位地址。知識(shí)點(diǎn)1、 A
10、RM存儲(chǔ)器時(shí)的大尾端與小尾端結(jié)構(gòu)小尾端:數(shù)據(jù)0x從地址0x100開始存放,則0x100存放0x44,0x101存放0x33,0x102存放0x22,0x103存放0x112、 ARM的7種工作模式正常模式:用戶模式(usr)系統(tǒng)模式(sys)(特權(quán)模式,不通過(guò)異常進(jìn)入)異常模式:快速中斷模式(fiq)外部中斷模式(irq)特權(quán)模式(sve)數(shù)據(jù)訪問(wèn)中止模式(abt)未定義指令終止模式(und)3、 ARM寄存器組,通用寄存器個(gè)數(shù),狀態(tài)寄存器個(gè)數(shù)37個(gè)寄存器,31個(gè)通用寄存器,6個(gè)狀態(tài)寄存器4、 程序狀態(tài)寄存器CPSR的重要標(biāo)志位與控制位N=1:結(jié)果為負(fù);Z=1:結(jié)果為零;C=1:有進(jìn)位;V=1
11、:結(jié)果溢出;T=0:ARM狀態(tài);T=1:Thumb狀態(tài);CPSR各模式共有,異常模式下才有SPSR。第三章 ARM處理器提綱:1、 了解ARM版本的發(fā)展過(guò)程,從V1到V8V1:ARM1(尋址空間:64MB)V2:ARM2、ARM3( V2版架構(gòu)與版本V1相比,增加了以下功能:乘法和乘加指令(32位); 支持協(xié)處理器操作指令;快速中斷模式;SWP/SWPB的最基本存儲(chǔ)器與寄存器交換指令; 尋址空間仍為:64MB)V3:ARM6( V3版架構(gòu)(目前已廢棄)對(duì)ARM體系結(jié)構(gòu)作了較大的改動(dòng): 尋址空間增至32位(4GB); 當(dāng)前程序狀態(tài)信息從原
12、來(lái)的R15寄存器移到當(dāng)前程序狀態(tài)寄存器CPSR中(Current Program Status Register); 增加了程序狀態(tài)保存寄存器SPSR(Saved Program Status Register); 增加了兩種異常模式,使操作系統(tǒng)代碼可方便地使用數(shù)據(jù)訪問(wèn)中止異常、指令預(yù)取中止異常和未定義指令異常。; 增加了MRS/MSR指令,以訪問(wèn)新增的CPSR/SPSR寄存器; 增加了從異常處理返回的指令功能。 尋址空間:4GB
13、)V4:ARM789、StrongARM(V4版架構(gòu)是目前應(yīng)用最廣的ARM體系結(jié)構(gòu)指令集中增加了以下功能: 符號(hào)化和非符號(hào)化半字及符號(hào)化字節(jié)的存/取指令; 增加了T變種,處理器可工作在Thumb狀態(tài),增加了16位Thumb指令集; 完善了軟件中斷SWI指令的功能; 處理器系統(tǒng)模式引進(jìn)特權(quán)方式時(shí)使用用戶寄存器操作; 把一些未使用的指令空間捕獲為未定義指令)V5:ARM10、Xscale(新增命令有: 帶有鏈接和交換的轉(zhuǎn)移BLX指令; 計(jì)數(shù)前導(dǎo)
14、零CLZ指令; BRK中斷指令; 增加了數(shù)字信號(hào)處理指令(V5TE版); 為協(xié)處理器增加更多可選擇的指令; 改進(jìn)了ARM/Thumb狀態(tài)之間的切換效率; E-增強(qiáng)型DSP指令集,包括全部算法操作和16位乘法操作; J-支持新的JAVA,提供字節(jié)代碼執(zhí)行的硬件和優(yōu)化軟件加速功能。)V6:ARM11(此架構(gòu)在V5版基礎(chǔ)上增加了以下功能:THUMBTM:35%代碼壓縮; DSP擴(kuò)充:高性能定點(diǎn)DSP功能;JazelleTM:Java性能優(yōu)化,可提高
15、8倍; Media擴(kuò)充:音/視頻性能優(yōu)化,可提高4倍。)V7:ARM Cortex(采用了Thumb-2技術(shù),它是在ARM的Thumb代碼壓縮技術(shù)的基礎(chǔ)上發(fā)展出來(lái)的,并且保持了對(duì)已存ARM解決方案的完整的代碼兼容性。Thumb-2技術(shù)比純32位代碼少使用31%的內(nèi)存,降低了系統(tǒng)開銷,同時(shí)卻能夠提供比已有的基于Thumb技術(shù)的解決方案高出38%的性能表現(xiàn)。ARMv7架構(gòu)還采用了NEON技術(shù),將DSP和媒體處理能力提高了近4倍,并支持改良的浮點(diǎn)運(yùn)算,滿足下一代3D圖形和游戲物理應(yīng)用以及傳統(tǒng)的嵌入式控制應(yīng)用的需求。此外,ARMv7還支持改良的運(yùn)行環(huán)境,來(lái)迎合不斷增加的JIT和D
16、AC技術(shù)的使用。)V8:蘋果A7處理器(ARMv8架構(gòu)包含兩個(gè)執(zhí)行狀態(tài):AArch64和AArch32。AArch64執(zhí)行狀態(tài)針對(duì)64位處理技術(shù),引入了一個(gè)全新指令集A64;而AArch32執(zhí)行狀態(tài)將支持現(xiàn)有的ARM指令集。目前的ARMv7架構(gòu)的主要特性都將在ARMv8架構(gòu)中得以保留或進(jìn)一步拓展,如:TrustZone技術(shù)、虛擬化技術(shù)及NEON advanced SIMD技術(shù),等。)2、熟悉ARM處理器核家族的發(fā)展過(guò)程3、熟悉ARM處理器命名規(guī)則,如TDMI、J、E、ST:支持16位壓縮指令集ThumbD:支持片上DebugM:內(nèi)嵌硬件乘法器(Multiplier)I:嵌入式ICE,支持片上斷
17、點(diǎn)和調(diào)試點(diǎn)J:Java加速器JazelleE:增強(qiáng)型DSP指令S:可綜合版本5、 熟悉流水線機(jī)制,作用,以及不同處理器核所支持的流水線等級(jí)ARM7:3級(jí)流水線ARM9:5級(jí)流水線ARM11:8級(jí)流水線6、 了解改善處理器核的方法增加流水線級(jí)數(shù)、指令與數(shù)據(jù)分開存儲(chǔ)、增加最高時(shí)鐘速率、降低CPI(每條指令的平均時(shí)鐘數(shù))知識(shí)點(diǎn):1、 ARM處理器命名規(guī)則T:支持16位壓縮指令集ThumbD:支持片上DebugM:內(nèi)嵌硬件乘法器(Multiplier)I:嵌入式ICE,支持片上斷點(diǎn)和調(diào)試點(diǎn)J:Java加速器JazelleE:增強(qiáng)型DSP指令S:可綜合版本2、 決定CPU執(zhí)行程序時(shí)間T的大小的因素主頻時(shí)
18、鐘、指令復(fù)雜程度、CPI(每條指令占據(jù)時(shí)鐘數(shù))3、 PC在CPU取出一條指令后增加的值pc=pc+44、 互斥的定義互斥是指某一資源同時(shí)只允許一個(gè)訪問(wèn)者對(duì)其進(jìn)行訪問(wèn),具有唯一性和排它性。但互斥無(wú)法限制訪問(wèn)者對(duì)資源的訪問(wèn)順序,即訪問(wèn)是無(wú)序的。5、 流水線的作用,不同處理器核所支持的流水線等級(jí)作用:提高執(zhí)行速度,提高cpu的工作效率,ARM7采用了3級(jí)流水線;ARM9 5 級(jí)流水線 ;ARM9E 5 級(jí)流水線;ARM10E采用了6級(jí)流水線;ARM11 8級(jí)流水線;第四章 總線與存儲(chǔ)擴(kuò)展提綱:1、了解ARM處理器核外部的總線結(jié)構(gòu)2、掌握ARM外擴(kuò)存儲(chǔ)器的方法,地址線、數(shù)據(jù)線、控制線知識(shí)點(diǎn):1、RAM
19、與ROM的作用與區(qū)別:訪問(wèn)時(shí)間、掉電后信息是否丟失,使用場(chǎng)合2、根據(jù)字節(jié)編址時(shí),給定地址,會(huì)計(jì)算存儲(chǔ)空間大小3、PCI總線位數(shù):32/64位4、不同存儲(chǔ)結(jié)構(gòu)的訪問(wèn)速度,由高到低:寄存器組、cache、RAM、ROM5、給定地址線與數(shù)據(jù)線,會(huì)計(jì)算存儲(chǔ)結(jié)構(gòu)的容量6、存儲(chǔ)管理第五章 ARM指令集提綱:1、理解ARM匯編指令的作用及適用場(chǎng)合2、熟悉ARM匯編指令的特點(diǎn)所有指令都是32bit。大多數(shù)指令都在單周期內(nèi)完成。所有指令都可以條件執(zhí)行。load/store體系結(jié)構(gòu)。指令集可以通過(guò)協(xié)處理器擴(kuò)展。3、熟悉ARM指令的格式,大體了解32個(gè)比特各個(gè)域的作用Cond:指令的條件碼。Opcode:指令操作碼
20、。S:操作是否影響cpsr。Rn:包含第一個(gè)操作數(shù)的寄存器編碼。Rd:目標(biāo)寄存器編碼。Operand2:第2操作數(shù)。3、 掌握ARM的四種尋址方式:立即數(shù)、寄存器、寄存器間接、寄存器移位P804、 對(duì)于立即數(shù)尋址,能夠判別立即數(shù)合法與否在0x00-0xFF范圍內(nèi),都是合法的;超過(guò)這個(gè)范圍的,就要看那個(gè)數(shù)如果能通過(guò)8位常數(shù)通過(guò)偶數(shù)位的循環(huán)右移得到,則是合法的,否則不合法6、掌握常用指令的用法,能夠分析出小段代碼執(zhí)行后的結(jié)果及其對(duì)CPSR的影響。知識(shí)點(diǎn):1、 ARM指令集的分類數(shù)據(jù)處理指令:數(shù)據(jù)傳輸指令,算術(shù)指令,邏輯指令,比較指令,乘法指令,前導(dǎo)零計(jì)數(shù)。程序狀態(tài)訪問(wèn)指令:mrs和msr。跳轉(zhuǎn)指令
21、:b和bl。訪存指令:?jiǎn)螖?shù)據(jù)訪存指令,多數(shù)據(jù)訪存指令,信號(hào)量操作指令。異常中斷產(chǎn)生指令:swi和bkpt。協(xié)處理器指令2、 常用的ARM指令P83 表3-33、 常用的尋址方式立即尋址,寄存器尋址,寄存器間接尋址,基址變址尋址,多寄存器尋址,相對(duì)尋址、堆棧尋址。4、 ARM支持兩種指令集,分別是ARM指令集和Thumb指令集,位數(shù)?ARM指令集32位,Thumb指令集16位,Thumb不能直接在CPU里運(yùn)行,需要解壓縮。5、 偽指令的作用偽指令在源程序中的作用是為完成匯編程序作各種準(zhǔn)備工作,也就是說(shuō)這些偽指令僅在匯編過(guò)程中起作用,一旦匯編結(jié)束,偽指令的使命就完成了。6、 堆棧的作用,對(duì)于堆棧的
22、操作現(xiàn)場(chǎng)保護(hù)(子程序調(diào)用、中斷)傳參數(shù)7、 ARM指令集中,程序控制類指令的主要功能用于在程序狀態(tài)寄存器和通用寄存器之間傳送數(shù)據(jù),程序狀態(tài)寄存器訪問(wèn)指令包括以下兩條: MRS 程序狀態(tài)寄存器到通用寄存器的數(shù)據(jù)傳送指令 MSR 通用寄存器到程序狀態(tài)寄存器的數(shù)據(jù)傳送指令8、掌握給定一段匯編程序,讀懂,知道各寄存器的結(jié)果,尤其是CPSR第六章 嵌入式開發(fā)環(huán)境的搭建與開發(fā)工具使用提綱:1、掌握交叉編譯的定義2、理解掌握嵌入式系統(tǒng)設(shè)計(jì)中,如何搭建ARM所采用的交叉編譯環(huán)境,熟悉JTAG、COM、以太口的作用,以及NFS的作用,熟悉搭建過(guò)程。3、熟悉課本124頁(yè)圖5-1 ARM硬件平臺(tái)結(jié)構(gòu)圖,熟悉超級(jí)終端
23、的設(shè)置方法,熟悉Linux虛擬機(jī)的安裝步驟,NFS服務(wù)的配置方法4、掌握GCC的使用,幾個(gè)參數(shù)gcc的使用語(yǔ)法如下:gcc options filenames .其中options就是編譯器所需要的參數(shù),必須以“-”開始常用參數(shù):-c、-o、-E、-v、-S5、掌握make命令的作用,與GCC指令的區(qū)別,掌握簡(jiǎn)單的makefile文件書寫,并理解何謂文件依賴關(guān)系知識(shí)點(diǎn):1、 GCC由哪個(gè)公司推出,若不指定文件名,默認(rèn)輸出的文件由 sun公司推出,默認(rèn)文件名為a.out。2、 make工具與Makefile的關(guān)系,各自的作用make能實(shí)現(xiàn)這樣的功能:它讀入一個(gè)文件,叫makefile,這個(gè)文件不
24、僅決定了源文件之間的依賴關(guān)系,而且還決定了源文件什么時(shí)候該編譯,什么時(shí)候不應(yīng)該編譯。 make本質(zhì)思想為:檢查源代碼和目標(biāo)文件,以確定哪個(gè)源文件需要重新編譯以創(chuàng)建新的目標(biāo)文件。3、交叉編譯環(huán)境的作用與搭建過(guò)程4、簡(jiǎn)單Makefile的編寫,文件之間的依賴關(guān)系一個(gè)簡(jiǎn)單的makefileprog:prog1.o prog2.ogcc -o prog1.o prog2.o progprog1.o:prog1.c lib.hgcc -c -I. -o prog1.o prog1.cprog2.o:prog2.cgcc -c prog2.c第七章 引導(dǎo)程序B.L提綱:1、 掌握B.L的作用功能初始化硬件
25、和建立內(nèi)存映射等,為操作系統(tǒng)內(nèi)核的啟動(dòng)準(zhǔn)備必要的硬件環(huán)境。BootLoader的主要運(yùn)行任務(wù)就是將內(nèi)核映象從硬盤上讀到RAM中,然后跳轉(zhuǎn)到內(nèi)核的入口點(diǎn)去運(yùn)行,也即開始啟動(dòng)操作系統(tǒng)。2、熟記課本171頁(yè)圖7-3,熟悉各部分燒錄的過(guò)程3、熟悉B.L啟動(dòng)時(shí)的兩種模式:?jiǎn)?dòng)加載、下載4、熟悉B.L的啟動(dòng)流程,課本173頁(yè)圖7-45、掌握一個(gè)特例VIVI主要完成的工作,分幾個(gè)階段,每個(gè)階段完成的功能Vivi的主要完成的工作有: 檢測(cè)目標(biāo)板; 下載代碼保存到Flash中; 初始化硬件; 將代碼從Flash復(fù)制到RAM中并且啟動(dòng)代碼;設(shè)置CPU的速度和時(shí)鐘頻率;ViviRAM初始化;初始化LED;CPU內(nèi)部
26、指令數(shù)據(jù)cache。putstr(vivi_banner)打印出Vivi的版本;對(duì)開發(fā)板進(jìn)行初始化(board_init函數(shù));內(nèi)存映射初始化和內(nèi)存管理單元的初始化工作;初始化堆棧,heap_init(),具體定義在vivilibheap.c文件中; Vivi 初始化MTD設(shè)備,mtd_dev_init();初始化私有數(shù)據(jù),init_priv_data(),具體定義在vivilibpriv_datarw.c初始化內(nèi)置命令,init_builtin_cmds();boot_or_vivi()。6、 了解VIVI的調(diào)試與燒寫方法知識(shí)點(diǎn):1、B.L的作用、階段、每個(gè)階段的功能作用:硬件初始化;導(dǎo)入操
27、作系統(tǒng)。階段及功能:引導(dǎo)加載程序(JTAG):完成硬件的一些基本配置,引導(dǎo)嵌入式操作系統(tǒng)內(nèi)核啟動(dòng);嵌入式操作系統(tǒng)內(nèi)核(COM):定制操作系統(tǒng)內(nèi)核以及內(nèi)核啟動(dòng)參數(shù);文件系統(tǒng)(RJ45):根文件系統(tǒng)和Flash內(nèi)存上的文件系統(tǒng);用戶應(yīng)用程序(驅(qū)動(dòng)):特定于用戶。2、B.L的啟動(dòng)方式與存儲(chǔ)器的關(guān)系網(wǎng)絡(luò)啟動(dòng)方式:不需要配置較大的存儲(chǔ)介質(zhì),需要把Bootloader安裝到板上的EPROM或者Flash中。目標(biāo)板要有串口、以太網(wǎng)接口或者其他連接方式,開發(fā)主機(jī)和開發(fā)板兩端都需要相應(yīng)接口的驅(qū)動(dòng)程序,還要在服務(wù)器上配置啟動(dòng)相關(guān)網(wǎng)絡(luò)服務(wù),TFTP、DHCP等。磁盤啟動(dòng)方式:主要用于PC機(jī)中的BIOS使用磁盤作為存
28、儲(chǔ)介質(zhì)。Flash啟動(dòng)方式:一種直接從Flash啟動(dòng),另一種將壓縮的內(nèi)存映像文件從Flash中復(fù)制、解壓到RAM,再?gòu)腞AM啟動(dòng)。Flash分為NOR Flash和NAND Flash,NOR Flash使用最為普遍。第八章 嵌入式Linux驅(qū)動(dòng)開發(fā)基礎(chǔ) 提綱:1、 理解程序調(diào)用與驅(qū)動(dòng)程序的作用系統(tǒng)調(diào)用是操作系統(tǒng)內(nèi)核和應(yīng)用程序之間的接口,設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)內(nèi)核和機(jī)器硬件之間的接口。它們都有一個(gè)共同的特點(diǎn):屏蔽了底層的某個(gè)具體服務(wù)的實(shí)現(xiàn)細(xì)節(jié),比如,系統(tǒng)調(diào)用屏蔽了操作系統(tǒng)內(nèi)核某個(gè)具體功能的實(shí)現(xiàn)細(xì)節(jié),設(shè)備驅(qū)動(dòng)程序則屏蔽了底層硬件設(shè)備的細(xì)節(jié)。設(shè)備驅(qū)動(dòng)是操作系統(tǒng)內(nèi)核中最接近硬件設(shè)備,是操作系統(tǒng)內(nèi)核和
29、底層硬件設(shè)備之間的接口。也就是說(shuō),操作系統(tǒng)內(nèi)核就是通過(guò)調(diào)用這些接口函數(shù)來(lái)完成對(duì)底層硬件設(shè)備的使用。2、理解課本265頁(yè)的驅(qū)動(dòng)程序功能3、了解Linux下的設(shè)備管理機(jī)制Linux 的一個(gè)重要特點(diǎn)就是將所有的設(shè)備都當(dāng)做文件進(jìn)行處理,這一類特殊文件就是設(shè)備文件。塊設(shè)備文件(磁盤)字符設(shè)備文件(并口、虛擬控制臺(tái))設(shè)備文件分類 網(wǎng)絡(luò)設(shè)備文件(網(wǎng)卡)雜項(xiàng)設(shè)備文件(IIC、USB)設(shè)備號(hào)是一個(gè)數(shù)字,它是設(shè)備的標(biāo)志。就如前面所述,一個(gè)設(shè)備文件(也就是設(shè)備節(jié)點(diǎn))可以通過(guò)mknod命令來(lái)創(chuàng)建,其中指定了主設(shè)備號(hào)和次設(shè)備號(hào)。主設(shè)備號(hào)表明某一類設(shè)備,用于標(biāo)識(shí)設(shè)備對(duì)應(yīng)的驅(qū)動(dòng)程序,一般對(duì)應(yīng)著確定的驅(qū)動(dòng)程序,主設(shè)備號(hào)相同的
30、設(shè)備使用相同的驅(qū)動(dòng)程序;次設(shè)備號(hào)一般是用于區(qū)分標(biāo)明不同屬性(例如不同的使用方法,不同的位置,不同的操作等),它標(biāo)志著某個(gè)具體的物理設(shè)備。4、熟悉Linux下的模塊編程流程,理解主要接口函數(shù)的作用:open、release、kmalloc、kfree、read、write打開設(shè)備:open函數(shù)釋放設(shè)備:release函數(shù)操縱內(nèi)存:kmalloc和kfree函數(shù)讀寫設(shè)備:read和write函數(shù)5、 三個(gè)結(jié)構(gòu)的名稱和作用file_operations(文件操作):存儲(chǔ)驅(qū)動(dòng)內(nèi)核模塊提供的對(duì)設(shè)備進(jìn)行這種操作的函數(shù)指針,也就是設(shè)備驅(qū)動(dòng)程序的入口點(diǎn)file(文件):只出現(xiàn)在內(nèi)核代碼中,從不出現(xiàn)在用戶程序中
31、,代表一個(gè)打開的文件描述符,不是專門給驅(qū)動(dòng)程序使用,系統(tǒng)中每個(gè)打開的文件在內(nèi)核中都有一個(gè)關(guān)聯(lián)的struct file,由內(nèi)核在open時(shí)創(chuàng)建,并傳遞給文件上操作的任何函數(shù)inode(節(jié)點(diǎn)):表示具體的文件,對(duì)于單個(gè)文件,可能會(huì)有許多個(gè)表示打開的文件描述符file結(jié)構(gòu),但是它們都是指向單個(gè)的inode結(jié)構(gòu)。知識(shí)點(diǎn):1、 在軟件開發(fā)過(guò)程中,“匯編”的定義把匯編語(yǔ)言翻譯成機(jī)器語(yǔ)言的過(guò)程稱為匯編。2、 I/O接口的作用1、I/O地址譯碼與設(shè)備選擇2、信息的輸入輸出,并對(duì)外設(shè)隨時(shí)進(jìn)行檢測(cè)、控制和管理,必要時(shí)還可以通過(guò)I/O接口向CPU發(fā)出中斷請(qǐng)求3、命令、數(shù)據(jù)和狀態(tài)的緩沖與鎖存,緩解CPU與外設(shè)之間工作
32、速度的差異,保證信息交換的同步4、信號(hào)電平與類型的轉(zhuǎn)換,實(shí)現(xiàn)信息格式變換、電平轉(zhuǎn)換、碼制轉(zhuǎn)換、傳送管理以及聯(lián)絡(luò)控制等功能3、A/D與D/A接口4、DMA接口它允許不同速度的硬件裝置來(lái)溝通,而不需要依于 CPU 的大量中斷負(fù)載5、中斷接口6、解壓文件使用的LINUX命令gzip,壓縮文件名:zip或gz,解壓命令:unzipbzip2,壓縮文件名:bz,解壓命令:bzip2 -d上面兩個(gè)是最常用的壓縮方式,一般在linux下可以通過(guò)tar命令實(shí)現(xiàn)打包和壓縮(或解壓)。例如:tar -zcvf file file.tar.gz打包并壓縮成gzip格式,其中-c命令是創(chuàng)建tar包,-z參數(shù)是指定壓縮
33、成gzip格式;tar -zxvf file.tar.gz解包命令,其中-x是解包命令,-z指定解壓縮格式是gziptar -jcvf file file.tar.bz2 打包并壓縮成bzip2格式,其中-c是創(chuàng)建tar包,-j參數(shù)指定壓縮成bzip2格式;tar -jxvf file.tar.gz解包命令,其中-x是解包命令,-j指定解壓縮格式是bzip27、奇偶校驗(yàn)8、電路板的制作過(guò)程9、嵌入式系統(tǒng)的開發(fā)過(guò)程調(diào)研(市場(chǎng)調(diào)查)性能分析(功能定位)芯片選擇(好置換)畫原理圖制作PCB板元件焊接搭建環(huán)境程序開發(fā)電池檢測(cè)出產(chǎn)品第九章 嵌入式Linux圖形設(shè)計(jì)提綱:1、 了解嵌入式Linux下圖形設(shè)
34、計(jì)的特點(diǎn)體積??;運(yùn)行時(shí)耗用系統(tǒng)資源??;上層接口與硬件無(wú)關(guān),高度可移植;高可靠性;在某些應(yīng)用場(chǎng)合應(yīng)具備實(shí)時(shí)性。2、熟悉常用的圖形設(shè)計(jì)工具軟件:QT、MiniGUI知識(shí)點(diǎn):1、 嵌入式圖形用戶接口(GUI)的主要特點(diǎn)MINIGUI特點(diǎn):提供常用的控件類包含其他GUI輔助元素支持界面皮膚支持多字符集和多字體支持多種鍵盤布局支持漢字(GB2312)輸入法層的支持借鑒著名的跨平臺(tái)游戲和多媒體函數(shù)庫(kù)SDL的新GAL接口,即NEWGAL增強(qiáng)的新GDI函數(shù)圖形抽象層(GAL)及輸入抽象層(IAL)第十章 補(bǔ)充接口提綱:1、 熟悉常用的接口種類UART,RS232C,RS422,RS485,I2C,SPI,I2S,USB,CAN2、 掌握RS232C、RS422、RS485的接線,性能參數(shù),適用場(chǎng)合3、 熟悉IIC、SPI接口的接線、時(shí)序IIIC:起始條件:SCL 線是高電平時(shí),SDA 線從高電平向低電平切換;停止條件:SCL 線是高電平時(shí),SDA 線由低電平向高電平切換在SCL處于高電平期間,SDA保持狀態(tài)穩(wěn)定的數(shù)據(jù)才是有效數(shù)據(jù),只有在SCL處于低電平狀態(tài)時(shí),SDA才允許狀態(tài)切換。 S
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園捐款倡議書15篇
- 社區(qū)2024年上半年安全生產(chǎn)工作總結(jié)5篇
- L-767679-生命科學(xué)試劑-MCE
- Ketomycin-生命科學(xué)試劑-MCE
- 北師版2024春八下數(shù)學(xué)第二章專題 一元一次不等式(組)中的參數(shù)問(wèn)題 (上課課件)
- 北師版2024春八下數(shù)學(xué)1.2直角三角形第2課時(shí)上課課件
- 醫(yī)院護(hù)理人員管理制度
- 液體消毒劑配送協(xié)議
- 倉(cāng)儲(chǔ)物流門窗裝修合同
- 地質(zhì)研究設(shè)備搬運(yùn)合同
- 初中班主任班級(jí)管理介紹
- 三年級(jí)音樂(lè)教學(xué)設(shè)計(jì)教案表格
- 農(nóng)牧產(chǎn)業(yè)行業(yè)分析
- 初中學(xué)生綜評(píng)典型事例
- 湖北省武漢市青山區(qū)2022-2023學(xué)年七上期末考試數(shù)學(xué)試卷(解析版)
- 物業(yè)工程主管個(gè)人述職報(bào)告
- 車輛超載帶來(lái)的危險(xiǎn)
- 2023-2024部編版小學(xué)六年級(jí)《道德與法治》上冊(cè)全冊(cè)教案
- HGT 2520-2023 工業(yè)亞磷酸 (正式版)
- 人教版四年級(jí)英語(yǔ)上冊(cè)U2 My Schoolbag單元整體作業(yè)設(shè)計(jì)
- 內(nèi)瘺堵塞的個(gè)案護(hù)理
評(píng)論
0/150
提交評(píng)論