嵌入式系統(tǒng)設(shè)計(jì)深刻復(fù)習(xí)_第1頁(yè)
嵌入式系統(tǒng)設(shè)計(jì)深刻復(fù)習(xí)_第2頁(yè)
嵌入式系統(tǒng)設(shè)計(jì)深刻復(fù)習(xí)_第3頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.嵌入式系統(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)格要求的專(zhuā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)格要求的專(zhuā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)的種類(lèi),最方便移植的操作系統(tǒng)Linux 、 VxWorks 、 WinCE 、 Palm 、C/OS-II 、eCos.最方便移植的是Linux 。6 、根據(jù)嵌入式系統(tǒng)使用的微處理器,嵌入式系統(tǒng)的分類(lèi)嵌入式微控制器、嵌入式微處理器、嵌入式 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、滿(mǎn)足,否則就造成重大安全事故, 甚至造成重大的生命財(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)行判斷,確定是否能夠滿(mǎn)足任務(wù)的時(shí)限要求。 由于實(shí)時(shí)系統(tǒng)對(duì)時(shí)間約束要求的嚴(yán)格性,使可預(yù)測(cè)性稱(chēng)為實(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)行開(kāi)

4、銷(xiāo)應(yīng)是有界的,以保證應(yīng)用程序執(zhí)行時(shí)間的有界性。三、可靠性大多數(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í)

5、系統(tǒng)。大多數(shù)控制子系統(tǒng)必須連續(xù)運(yùn)轉(zhuǎn)以保證子系統(tǒng)的正常工作或準(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)稱(chēng)“嵌”)和通用計(jì)算機(jī)(簡(jiǎn)稱(chēng)“通”)的主要區(qū)別包括以下幾點(diǎn):1

6、. 形式與類(lèi)型“通”:實(shí)實(shí)在在的計(jì)算機(jī)。按其體系結(jié)構(gòu)、運(yùn)算速度和規(guī)??煞譃榇笮蜋C(jī)、中型機(jī)、小型機(jī)和微機(jī)“嵌”:“看不見(jiàn)”的計(jì)算機(jī),形式多樣,應(yīng)用領(lǐng)域廣泛,按應(yīng)用進(jìn)行分類(lèi)2. 組成“通”:通用處理器、標(biāo)準(zhǔn)總線和外設(shè)、軟硬件相對(duì)獨(dú)立“嵌” :面向特定應(yīng)用的微處理器,總線和外設(shè)一般集成在處理器內(nèi)部,軟硬件緊密結(jié)合.3. 系統(tǒng)資源“通”:系統(tǒng)資源充足,有豐富的編譯器、集成開(kāi)發(fā)環(huán)境、調(diào)試器等“嵌”:系統(tǒng)資源緊缺,沒(méi)有編譯器等相關(guān)開(kāi)發(fā)工具4. 開(kāi)發(fā)方式“通”:開(kāi)發(fā)平臺(tái)和運(yùn)行平臺(tái)都是通用計(jì)算機(jī)“嵌”:采用交叉編譯方式,開(kāi)發(fā)平臺(tái)一般是通用計(jì)算機(jī),運(yùn)行平臺(tái)是嵌入式系統(tǒng)5. 二次開(kāi)發(fā)性“通”:應(yīng)用程序可重新編程“

7、嵌”:一般不能重新編程開(kāi)發(fā)6. 發(fā)展目標(biāo)“通”:編程功能電腦,普遍進(jìn)入社會(huì)“嵌”:變?yōu)閷?zhuān)用電腦,實(shí)現(xiàn)“普及計(jì)算”第二章ARM體系結(jié)構(gòu)提綱:1 、 掌握 ARM的 7 種工作模式,熟悉其模式的工作入口表3-2用戶(hù)模式( 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ù))中止模式20

8、x0014保留保留保留0x0018IRQIRQ 模式40x001CFIQFIQ 模式32、 熟悉不同模式下寄存器的應(yīng)用P72 圖 3-23、掌握通用寄存器的組成,尤其是R13 、 R14 、 R1531 個(gè)通用寄存器, R0R7是所有處理器模式共用的一組寄存器,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指令集 1

9、6 位, 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、 ARM存儲(chǔ)器時(shí)的大尾端與小尾端結(jié)構(gòu)小尾端:數(shù)據(jù) 0x11223344 從地址 0x100 開(kāi)始存放,則0x100 存放 0x44 ,0x101存放 0x33 , 0x102 存放 0x22 , 0x103存放 0x112、 ARM的 7 種工作模式正常模式:用戶(hù)模式( usr )系統(tǒng)模式( sys ) (特權(quán)模式,

10、不通過(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: 結(jié)果溢出 ;T=0 : ARM 狀態(tài); T=1 : Thumb狀態(tài);CPSR 各模式共有,異常模式下才有SPSR。第三章ARM處理器提綱:1 、 了解 ARM版本的發(fā)展過(guò)程,從V1 到 V8V1 :ARM1 (尋址空

11、間: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)信息從原來(lái)的R15 寄存器移到當(dāng)前程序狀態(tài)寄存器CPSR 中( Current Program Status Register) ;增加了程序狀態(tài)保存寄存器SPSR(Saved Program Status Register);增加了

12、兩種異常模式,使操作系統(tǒng)代碼可方便地使用數(shù)據(jù)訪問(wèn)中止異常、指令預(yù)取中止異常和未定義指令異常。;增加了 MRS/MSR指令,以訪問(wèn)新增的CPSR/SPSR 寄存器;增加了從異常處理返回的指令功能。尋址空間: 4GB )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í)使用用戶(hù)寄存器操作;把一些未使用的指令空間捕獲為未定義指令)V5 :ARM10

13、 、 Xscale (新增命令有:帶有鏈接和交換的轉(zhuǎn)移BLX 指令;計(jì)數(shù)前導(dǎo)零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)化,可提高8 倍 ;Media擴(kuò)充:音 / 視頻性能優(yōu)化,可

14、提高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)開(kāi)銷(xiāo),同時(shí)卻能夠提供比已有的基于Thumb技術(shù)的解決方案高出38% 的性能表現(xiàn)。ARMv7 架構(gòu)還采用了 NEON 技術(shù),將 DSP 和媒體處理能力提高了近4 倍,并支持改良的浮點(diǎn)運(yùn)算,滿(mǎn)足下一代3D 圖形和游戲物理應(yīng)用以及傳統(tǒng)的嵌入式控制應(yīng)用的需求。此外,ARMv7還支持改良的運(yùn)行環(huán)境,來(lái)迎合不斷增加的 JIT 和 DAC 技術(shù)的使用。)V8

15、 :蘋(píng)果 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:嵌入式

16、ICE,支持片上斷點(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ù)分開(kāi)存儲(chǔ)、增加最高時(shí)鐘速率、降低CPI (每條指令的平均時(shí)鐘數(shù))知識(shí)點(diǎn):1 、 ARM處理器命名規(guī)則T:支持 16 位壓縮指令集ThumbD:支持片上Debug.M: 內(nèi)嵌硬件乘法器(Multiplier)I:嵌入式 ICE,支持片上斷點(diǎn)和調(diào)試點(diǎn)J:Java 加速器 JazelleE:增強(qiáng)型 DSP 指令S:可綜合

17、版本2 、 決定 CPU 執(zhí)行程序時(shí)間T 的大小的因素主頻時(shí)鐘、指令復(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í)流水線; ARM9E5 級(jí)流水線 ;ARM10E采用了 6 級(jí)流水線; ARM118 級(jí)流水線;第四章總線與存儲(chǔ)擴(kuò)展提綱:1 、了解 ARM處理

18、器核外部的總線結(jié)構(gòu)2 、掌握 ARM外擴(kuò)存儲(chǔ)器的方法,地址線、數(shù)據(jù)線、控制線知識(shí)點(diǎn):1 、 RAM與 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)

19、。指令集可以通過(guò)協(xié)處理器擴(kuò)展。3 、熟悉 ARM指令的格式,大體了解32 個(gè)比特各個(gè)域的作用Cond :指令的條件碼。Opcode:指令操作碼。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

20、 的影響。知識(shí)點(diǎn):1、 ARM 指令集的分類(lèi)數(shù)據(jù)處理指令:數(shù)據(jù)傳輸指令,算術(shù)指令,邏輯指令,比較指令,乘法指令,前導(dǎo)零計(jì)數(shù)。程序狀態(tài)訪問(wèn)指令:mrs 和 msr 。跳轉(zhuǎn)指令: 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不

21、能直接在CPU 里運(yùn)行,需.要解壓縮。5 、 偽指令的作用偽指令在源程序中的作用是為完成匯編程序作各種準(zhǔn)備工作,也就是說(shuō)這些偽指令僅在匯編過(guò)程中起作用,一旦匯編結(jié)束,偽指令的使命就完成了。6 、 堆棧的作用,對(duì)于堆棧的操作現(xiàn)場(chǎng)保護(hù)(子程序調(diào)用、中斷)傳參數(shù)7 、 ARM指令集中,程序控制類(lèi)指令的主要功能用于在程序狀態(tài)寄存器和通用寄存器之間傳送數(shù)據(jù),程序狀態(tài)寄存器訪問(wèn)指令包括以下兩條: MRS 程序狀態(tài)寄存器到通用寄存器的數(shù)據(jù)傳送指令 MSR 通用寄存器到程序狀態(tài)寄存器的數(shù)據(jù)傳送指令8 、掌握給定一段匯編程序,讀懂,知道各寄存器的結(jié)果,尤其是CPSR第六章嵌入式開(kāi)發(fā)環(huán)境的搭建與開(kāi)發(fā)工具使用提綱:

22、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í)終端的設(shè)置方法,熟悉Linux虛擬機(jī)的安裝步驟,NFS 服務(wù)的配置方法4 、掌握 GCC 的使用,幾個(gè)參數(shù)gcc 的使用語(yǔ)法如下:gccoptionsfilenames .其中 options就是編譯器所需要的參數(shù),必須以“-”開(kāi)始常用參數(shù): -c 、 -o 、 -E、 -v 、 -S5 、掌握 make命令的作用,與GCC 指令的區(qū)別,掌握簡(jiǎn)單的mak

23、efile文件書(shū)寫(xiě),并理解何謂文件依賴(lài)關(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è)文件不僅決定了源文件之間的依賴(lài)關(guān)系,而且還決定了源文件什么時(shí)候該編譯,什么時(shí)候不應(yīng)該編譯。make本質(zhì)思想為:檢查源代碼和目標(biāo)文件,以確定哪個(gè)源文件需要重新編譯以創(chuàng)建新的目標(biāo)文件。3 、交叉編譯環(huán)境的作用與搭建過(guò)程4 、簡(jiǎn)單 Makefile 的編寫(xiě),文件之間的依賴(lài)關(guān)系一個(gè)簡(jiǎn)單的 makefileprog:pro

24、g1.oprog2.ogcc -o prog1.o prog2.o progprog1.o:prog1.clib.hgcc -c -I. -o prog1.o prog1.c prog2.o:prog2.cgcc -c prog2.c第七章引導(dǎo)程序B.L.提綱:1 、 掌握 B.L 的作用功能初始化硬件和建立內(nèi)存映射等,為操作系統(tǒng)內(nèi)核的啟動(dòng)準(zhǔn)備必要的硬件環(huán)境。BootLoader的主要運(yùn)行任務(wù)就是將內(nèi)核映象從硬盤(pán)上讀到RAM中,然后跳轉(zhuǎn)到內(nèi)核的入口點(diǎn)去運(yùn)行,也即開(kāi)始啟動(dòng)操作系統(tǒng)。2 、熟記課本171 頁(yè)圖 7-3 ,熟悉各部分燒錄的過(guò)程3 、熟悉 B.L 啟動(dòng)時(shí)的兩種模式:?jiǎn)?dòng)加載、下載4 、

25、熟悉 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)部指令數(shù)據(jù)cache 。putstr(vivi_banner)打印出 Vivi 的版本;對(duì)開(kāi)發(fā)板進(jìn)行初始化(board_init函數(shù));內(nèi)存映射初始化和內(nèi)存管理單元的初始化工作;初始化堆棧,heap_init(),具體定義在 vivilibheap.c

26、文件中;.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)試與燒寫(xiě)方法知識(shí)點(diǎn):1 、 B.L 的作用、階段、每個(gè)階段的功能作用:硬件初始化;導(dǎo)入操作系統(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)存上的文件系

27、統(tǒng);用戶(hù)應(yīng)用程序 (驅(qū)動(dòng) ):特定于用戶(hù)。2 、 B.L 的啟動(dòng)方式與存儲(chǔ)器的關(guān)系網(wǎng)絡(luò)啟動(dòng)方式:不需要配置較大的存儲(chǔ)介質(zhì),需要把 Bootloader安裝到板上的EPROM或者 Flash 中。目標(biāo)板要有串口、以太網(wǎng)接口或者其他連接方式,開(kāi)發(fā)主機(jī)和開(kāi)發(fā)板兩端都需要相應(yīng)接口的驅(qū)動(dòng)程序,還要在服務(wù)器上配置啟動(dòng)相關(guān)網(wǎng)絡(luò)服務(wù),TFTP、DHCP 等。磁盤(pán)啟動(dòng)方式:主要用于PC 機(jī)中的 BIOS 使用磁盤(pán)作為存儲(chǔ)介質(zhì)。Flash 啟動(dòng)方式 :一種直接從Flash 啟動(dòng),另一種將壓縮的內(nèi)存映像文件從Flash 中復(fù)制、解壓到RAM ,再?gòu)?RAM 啟動(dòng)。 Flash 分為 NOR Flash和 NAND

28、Flash,NOR Flash使用最為普遍。第八章嵌入式 Linux驅(qū)動(dòng)開(kāi)發(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)核和底層硬件設(shè)備之間的接口。也就是說(shuō),操作系統(tǒng)內(nèi)核就是通過(guò)調(diào)用這些接口函數(shù)來(lái)完成對(duì)底層硬件設(shè)備的使用。2 、理解課本265 頁(yè)的驅(qū)動(dòng)程序功能3 、了解 Linux下的設(shè)備管理機(jī)

29、制Linux的一個(gè)重要特點(diǎn)就是將所有的設(shè)備都當(dāng)做文件進(jìn)行處理,這一類(lèi)特殊文件就是設(shè)備文件。塊設(shè)備文件(磁盤(pán))字符設(shè)備文件(并口、虛擬控制臺(tái))設(shè)備文件分類(lèi)網(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)表明某一類(lèi)設(shè)備,用于標(biāo)識(shí)設(shè)備對(duì)應(yīng)的驅(qū)動(dòng)程序,一般對(duì)應(yīng)著確定的驅(qū)動(dòng)程序,主設(shè)備號(hào)相同的設(shè)備使用相同的驅(qū)動(dòng)程序;次設(shè)備號(hào)一般是用于區(qū)分標(biāo)明不同屬性(例如不同的使用方法,不同的位置,不同的操作等),它標(biāo)志著某個(gè)具體的物理設(shè)備。.4 、熟悉 Lin

30、ux下的模塊編程流程,理解主要接口函數(shù)的作用:open 、release 、kmalloc、kfree 、 read 、 write打開(kāi)設(shè)備: open函數(shù)釋放設(shè)備: release函數(shù)操縱內(nèi)存: kmalloc和 kfree函數(shù)讀寫(xiě)設(shè)備: read 和 write函數(shù)5 、 三個(gè)結(jié)構(gòu)的名稱(chēng)和作用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)在用戶(hù)程序中,代表一個(gè)打開(kāi)的文件描述符,不是專(zhuān)門(mén)給驅(qū)動(dòng)程序使用,系統(tǒng)中每個(gè)打開(kāi)的文件在內(nèi)核中都有一個(gè)關(guān)聯(lián)的struct fil

31、e,由內(nèi)核在open時(shí)創(chuàng)建,并傳遞給文件上操作的任何函數(shù)inode(節(jié)點(diǎn) ) :表示具體的文件,對(duì)于單個(gè)文件,可能會(huì)有許多個(gè)表示打開(kāi)的文件描述符 file 結(jié)構(gòu),但是它們都是指向單個(gè)的inode結(jié)構(gòu)。知識(shí)點(diǎn):1 、 在軟件開(kāi)發(fā)過(guò)程中, “匯編”的定義把匯編語(yǔ)言翻譯成機(jī)器語(yǔ)言的過(guò)程稱(chēng)為匯編。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è)之間工作速度的差異,保證.信息交換的同步4 、信號(hào)電平與類(lèi)型的轉(zhuǎn)換,實(shí)現(xiàn)信息格式變換、電平轉(zhuǎn)

32、換、碼制轉(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-zcvffilefile.tar.gz打包并壓縮成gzip 格式,其中 -c 命令是創(chuàng)建tar 包, -z參數(shù)是指定壓縮成gzip格式;tar-zxvffile.tar.gz

33、解包命令,其中-x 是解包命令, -z 指定解壓縮格式是gziptar-jcvffilefile.tar.bz2打包并壓縮成bzip2格式,其中 -c 是創(chuàng)建 tar 包, -j參數(shù)指定壓縮成bzip2格式;tar-jxvffile.tar.gz解包命令,其中-x 是解包命令, -j 指定解壓縮格式是bzip27 、奇偶校驗(yàn)8 、電路板的制作過(guò)程9 、嵌入式系統(tǒng)的開(kāi)發(fā)過(guò)程調(diào)研(市場(chǎng)調(diào)查)性能分析(功能定位)芯片選擇(好置換)畫(huà)原理圖制作.PCB 板元件焊接搭建環(huán)境程序開(kāi)發(fā)電池檢測(cè)出產(chǎn)品第九章嵌入式 Linux圖形設(shè)計(jì)提綱:1 、 了解嵌入式Linux下圖形設(shè)計(jì)的特點(diǎn)體積??;運(yùn)行時(shí)耗用系統(tǒng)資源小

34、;上層接口與硬件無(wú)關(guān),高度可移植;高可靠性;在某些應(yīng)用場(chǎng)合應(yīng)具備實(shí)時(shí)性。2 、熟悉常用的圖形設(shè)計(jì)工具軟件:QT 、 MiniGUI知識(shí)點(diǎn):1、 嵌入式圖形用戶(hù)接口(GUI )的主要特點(diǎn)MINIGUI特點(diǎn):提供常用的控件類(lèi)包含其他GUI 輔助元素支持界面皮膚支持多字符集和多字體支持多種鍵盤(pán)布局支持漢字( GB2312 )輸入法層的支持借鑒著名的跨平臺(tái)游戲和多媒體函數(shù)庫(kù)增強(qiáng)的新GDI 函數(shù)SDL的新GAL接口,即NEWGAL.圖形抽象層 (GAL) 及輸入抽象層(IAL)第十章補(bǔ)充接口提綱:1 、 熟悉常用的接口種類(lèi)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)切換。.SPI總線包括1 根串行同步時(shí)鐘信號(hào)線以及2 根數(shù)據(jù)線,是高速,全雙工,同步的通信總線;只占用四根線,節(jié)約

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論