第一篇:杭電_嵌入式系統(tǒng)原理個(gè)人期末整理縮印Super超級(jí)超級(jí)最終版
———————————————1.系統(tǒng)概述、調(diào)試———————————————— 什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)是“以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)?!鼻度胧较到y(tǒng)特點(diǎn):a通常含有面向特定應(yīng)用的嵌入式CPU。b是計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各行業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物。c其硬件和軟件的設(shè)計(jì)效率要高。d與具體應(yīng)用緊密結(jié)合,其升級(jí)換代也與具體產(chǎn)品同步進(jìn)行,因此生命周期較長(zhǎng)。e其軟件均固化在存儲(chǔ)芯片或單片機(jī)中,因此,速度和可靠性較高。f不具備獨(dú)立開(kāi)發(fā)能力,必須借助外部開(kāi)發(fā)工具或系統(tǒng)進(jìn)行設(shè)計(jì),因此用戶不能對(duì)其中的程序功能進(jìn)行修改。實(shí)時(shí)性實(shí)現(xiàn)(RTOS實(shí)時(shí)操作系統(tǒng)見(jiàn)第七章):根據(jù)操作系統(tǒng)特性,調(diào)度一切可利用的資源完成實(shí)時(shí)控制任務(wù),在時(shí)間限制內(nèi)區(qū)別、處理離散事件和存儲(chǔ)控制系統(tǒng)的大量數(shù)據(jù)。
嵌入式系統(tǒng)處理器特點(diǎn):1)對(duì)實(shí)時(shí)多任務(wù)有很強(qiáng)的支持功能,能完成多任務(wù)并且有較短的中斷響應(yīng)時(shí)間從而使內(nèi)部的代碼和實(shí)時(shí)內(nèi)核的執(zhí)行時(shí)間減少到最低限度;2)具有功能很強(qiáng)的存儲(chǔ)器保護(hù)功能;3)可擴(kuò)展的處理器結(jié)構(gòu),能迅速地?cái)U(kuò)展出滿足應(yīng)用的高性能的嵌入式處理器;4)嵌入式處理器功耗很低。
嵌入式系統(tǒng)組成:①嵌入式系統(tǒng)硬件(嵌入式核心處理器芯片、存儲(chǔ)器系統(tǒng)、輸入/輸出接口)②嵌入式系統(tǒng)軟件(嵌入式操作系統(tǒng)和應(yīng)用軟件)③嵌入式系統(tǒng)的開(kāi)發(fā)工具和開(kāi)發(fā)系統(tǒng)
嵌入式系統(tǒng)包括硬件和軟件兩個(gè)部分,硬件包括處理器、存儲(chǔ)器、外設(shè)2器件、I/O端口和圖形控制器等。軟件包括嵌入式操作系統(tǒng)和應(yīng)用軟件編程兩大部分和4個(gè)層次即設(shè)備驅(qū)動(dòng)接口、實(shí)時(shí)操作系統(tǒng)、可編程應(yīng)用接口、應(yīng)用軟件。
嵌入式系統(tǒng)種類(lèi):①單個(gè)嵌入式處理器②嵌入式處理器可擴(kuò)展的系統(tǒng)③復(fù)雜的嵌入式系統(tǒng)④在制造或過(guò)程中使用的計(jì)算機(jī)系統(tǒng)
嵌入式系統(tǒng)與通用計(jì)算機(jī)系統(tǒng)相比有什么特點(diǎn)?1)嵌入式系統(tǒng)通常是面向特定應(yīng)用的嵌入式CPU,與通用型的最大不同就是嵌入式CPU大多工作在為特定用戶群設(shè)計(jì)的系統(tǒng)中,它通常都具有低功耗、體積小、集成度高等特點(diǎn),能夠把通用CPU中許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)設(shè)計(jì)趨于小型化,移動(dòng)能力大大增強(qiáng),跟網(wǎng)絡(luò)的耦合也越來(lái)越緊密。2)嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物。這一點(diǎn)就決定了它必然是一個(gè)技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。3)嵌入式系統(tǒng)的硬件和軟件都必須高效率地設(shè)計(jì),量體裁衣、去除冗余,力爭(zhēng)在同樣的硅片面積上實(shí)現(xiàn)更高的性能,這樣才能在具體應(yīng)用中對(duì)處理器的選擇更具有競(jìng)爭(zhēng)力。4)嵌入式系統(tǒng)和具體應(yīng)用有機(jī)地結(jié)合在一起,它的升級(jí)換代也是和具體產(chǎn)品同步進(jìn)行,因此嵌入式系統(tǒng)產(chǎn)品一旦進(jìn)入市場(chǎng),具有較長(zhǎng)的生命周期。5)為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲(chǔ)器芯片或單片機(jī)本身中,而不是存貯于磁盤(pán)等載體中。6)嵌入式系統(tǒng)本身不具備自舉開(kāi)發(fā)能力,即使設(shè)計(jì)完成以后用戶通常也是不能對(duì)其中的程序功能進(jìn)行修改的,必須有一套開(kāi)發(fā)工具和環(huán)境才能進(jìn)行開(kāi)發(fā)。
嵌入式系統(tǒng)的調(diào)試方法:基于主機(jī)的調(diào)試、遠(yuǎn)程調(diào)試、ROM仿真器、在線仿真器、BDM、JTAG 解析嵌入式系統(tǒng)的四種基本調(diào)試方法。1)源程序模擬器(Simulator)是在PC機(jī)上,通過(guò)軟件手段模擬執(zhí)行為某種嵌入式處理器編寫(xiě)的源程序的測(cè)試工具 2)仿真器調(diào)試方式是在微處理器的內(nèi)部嵌入額外的控制模塊。當(dāng)特定的觸發(fā)條件滿足時(shí),系統(tǒng)將進(jìn)入某種特殊狀態(tài)。在這種狀態(tài)下,被調(diào)試的程序暫時(shí)停止運(yùn)行,宿主機(jī)的調(diào)試器通過(guò)微處理器外部特設(shè)的通信口訪問(wèn)各種寄存器、存儲(chǔ)器資源,并執(zhí)行相應(yīng)的調(diào)試指令 3)監(jiān)控器(Monitor)調(diào)試方式需要目標(biāo)機(jī)與宿主機(jī)協(xié)調(diào)。首先,在宿主機(jī)和目標(biāo)機(jī)之間通過(guò)串口、以太口等建立物理連接,然后在宿主機(jī)上運(yùn)行調(diào)試器,目標(biāo)機(jī)運(yùn)行監(jiān)控程序和被調(diào)試程序,從而建立宿主機(jī)與目標(biāo)機(jī)的邏輯連接。宿主機(jī)通過(guò)調(diào)試器與目標(biāo)機(jī)的監(jiān)控器建立通信連接,它們相互間的通信遵循遠(yuǎn)程調(diào)試協(xié)議。4)在線調(diào)試器方式它是一種邊界掃描標(biāo)準(zhǔn),只需5根引腳就可以實(shí)現(xiàn)在線仿真的功能。
調(diào)試子系統(tǒng)指的是JTAG調(diào)試接口和BDM調(diào)試接口等。嵌入式系統(tǒng)的發(fā)展趨勢(shì):(除軟硬件外P24、P25)開(kāi)發(fā)平臺(tái)的完備化、嵌入式系統(tǒng)的網(wǎng)絡(luò)化、系統(tǒng)集成度和性能指標(biāo)的提高、友好的人機(jī)界面。
嵌入式系統(tǒng)應(yīng)用:典型的嵌入式系統(tǒng)應(yīng)用領(lǐng)域包括國(guó)防、工業(yè)控制、信息家電、各種商用設(shè)備、辦公自動(dòng)化。
嵌入式系統(tǒng)的體系結(jié)構(gòu):嵌入式系統(tǒng)自底向上包含四個(gè)部分:硬件平臺(tái)、嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)、硬件抽象層(HAL)和嵌入式實(shí)時(shí)應(yīng)用程序。硬件抽象層位于操作系統(tǒng)和硬件之間,包含了系統(tǒng)中與硬件相關(guān)的大部分功能。屏蔽了底層硬件的多樣性,操作系統(tǒng)不再直接面對(duì)具體的硬件環(huán)境,而是面向由這個(gè)中間層次所代表的、邏輯上的硬件環(huán)境。嵌入式系統(tǒng)中進(jìn)程間通信主要采用哪幾種形式?嵌入式系統(tǒng)中進(jìn)程間通信主要采用兩種形式:共享內(nèi)存和消息傳遞。二者在邏輯上沒(méi)有什么區(qū)別,進(jìn)程通信采用哪種方式,主要依賴實(shí)際需要。進(jìn)程間通信也可以采用信號(hào)和管道的方式。
在嵌入式系統(tǒng)中使用Bootloader有哪些優(yōu)點(diǎn)?大多數(shù)嵌入式系統(tǒng)還是采用了引導(dǎo)加載程序Bootloader,而不讓可執(zhí)行映像在EEPROM或FLASH中就地執(zhí)行。這樣做是出于幾個(gè)方面的考慮:1)效率方面的考慮雖然CPU可以在ROM或FLASH空間就地執(zhí)行操作系統(tǒng)(包含應(yīng)用軟件)的映像,但是ROM和FLASH的速度往往比不上RAM。所以先把映像從ROM或FLASH空間搬運(yùn)到RAM空間,然后在RAM空間中運(yùn)行這個(gè)映像,有利于提高系統(tǒng)的運(yùn)行效率。2)操作系統(tǒng)的多樣性一方面嵌入式系統(tǒng)可以采用很多不同種類(lèi)的操作系統(tǒng),同一種操作系統(tǒng)也可以有不同的版本。而且,嵌入式系統(tǒng)的應(yīng)用軟件又常常與操作系統(tǒng)連成一體,這就更增加了系統(tǒng)映像的多樣性。另一方面,嵌入式系統(tǒng)的硬件提供商所面對(duì)的通常是二次開(kāi)發(fā)商而不是最終用戶,往往并不清楚最終用的是什么操作系統(tǒng),或者手中并無(wú)目標(biāo)操作系統(tǒng)的映像。所以,最好的辦法是先在硬件中裝上一個(gè)引導(dǎo)加載程序,而讓二次開(kāi)發(fā)商提供具體的操作系統(tǒng)映像,這樣就為采用不同版本,甚至完全不同的操作系統(tǒng)(以及應(yīng)用程序)映像提供了靈活性。3)存儲(chǔ)地與執(zhí)行地分離特別是在嵌入式系統(tǒng)的調(diào)試階段,更換系統(tǒng)的可執(zhí)行映像是很頻繁的事情,此時(shí)需要把新的可執(zhí)行映像寫(xiě)入相應(yīng)的EPROM或FLASH芯片中去。如果讓可執(zhí)行映像就地運(yùn)行,那就變成要把新的映像覆蓋到正在執(zhí)行的老的映像上,那樣當(dāng)然會(huì)帶來(lái)一些技術(shù)上的問(wèn)題。這說(shuō)明映像的存儲(chǔ)地與執(zhí)行地應(yīng)該分離。4)調(diào)試/排錯(cuò)方面的考慮調(diào)試/排錯(cuò)方面的考慮也要求在RAM中執(zhí)行系統(tǒng)映像。嵌入式軟件的開(kāi)發(fā)在前期可以采用一些模擬、仿真的調(diào)試/排錯(cuò)手段,可是最終總得要“來(lái)真格”的,到實(shí)際的運(yùn)行環(huán)境中考察、調(diào)試。如果目標(biāo)程序在ROM或FLASH中就地運(yùn)行,就無(wú)法通過(guò)這種方法設(shè)置斷點(diǎn)了。5)嵌入式系統(tǒng)獨(dú)特的開(kāi)發(fā)模式嵌入式系統(tǒng)的操作系統(tǒng)內(nèi)核往往與應(yīng)用軟件靜態(tài)地連接在一起,而且程序的開(kāi)發(fā)通常是在另一臺(tái)“主機(jī)”上進(jìn)行,所以每次修改程序以后就得把新的映像“下載”到目標(biāo)機(jī)中,此時(shí)就得依靠目標(biāo)機(jī)的引導(dǎo)加載程序。嵌入式系統(tǒng)的BooTLoader的功能是什么?BootLoader是系統(tǒng)加電后、操作系統(tǒng)內(nèi)核或用戶應(yīng)用程序運(yùn)行之前,首先必須運(yùn)行的一段程序代碼。通過(guò)這段程序,為最終調(diào)用操作系統(tǒng)內(nèi)核、運(yùn)行用戶應(yīng)用程序準(zhǔn)備好正確的環(huán)境。(對(duì)于嵌入式系統(tǒng)來(lái)說(shuō),有的使用操作系統(tǒng),也有的不使用操作系統(tǒng),但在系統(tǒng)啟動(dòng)時(shí)都必須運(yùn)行BootLoader,為系統(tǒng)運(yùn)行準(zhǔn)備好軟硬件環(huán)境。)
———————————————9嵌入式軟件組件——————————————
嵌入式軟件組件有時(shí)也稱為嵌入式系統(tǒng)構(gòu)件、軟件模塊,是指在開(kāi)發(fā)嵌入式系統(tǒng)時(shí),對(duì)軟件的開(kāi)發(fā)進(jìn)行總體規(guī)劃,設(shè)計(jì)成模塊化結(jié)構(gòu)、組件化結(jié)構(gòu)。
設(shè)計(jì)方法:對(duì)一定范圍內(nèi)不同功能或其他功能、不同性能、不同規(guī)格產(chǎn)品進(jìn)行分析,劃分并設(shè)計(jì)出一系列功能模塊,通過(guò)模塊選擇和組合構(gòu)成不同產(chǎn)品。嵌入式系統(tǒng)的軟件組成:1.嵌入式操作系統(tǒng) 2.嵌入式應(yīng)用軟件 3.硬件抽象層HAL 4.板級(jí)支持包BSP 5.設(shè)備驅(qū)動(dòng)程序 6.操作系統(tǒng)的應(yīng)用程序接口函數(shù)API
嵌入式軟件的特點(diǎn):1)軟件要求固態(tài)化存儲(chǔ)。2)軟件代碼要求高質(zhì)量、高可靠性。3)系統(tǒng)軟件的高實(shí)時(shí)性是基本要求。4)多任務(wù)實(shí)時(shí)操作系統(tǒng)成為嵌入式應(yīng)用軟件的必需。嵌入式系統(tǒng)開(kāi)放中,使用軟件組件技術(shù)有什么好處?a.提高開(kāi)發(fā)的效率b.提高開(kāi)發(fā)的可靠性c.提高軟件的可移植性d.適合于并行開(kāi)發(fā)
異步串行通信基本通信方式:?jiǎn)喂ねㄐ?、半雙工通信、雙攻通信
異步串行通信兩個(gè)子模塊:a.應(yīng)用接口模塊(API)為用戶的編程提供API,完成模塊初始化、數(shù)據(jù)發(fā)送和接收功能,并管理發(fā)送和接收的環(huán)形隊(duì)列。b.中斷服務(wù)程序模塊:允許把收到的字符送入接收環(huán)形隊(duì)列,把發(fā)送環(huán)形隊(duì)列中的數(shù)據(jù)發(fā)送出去。異步串行通信兩種工作方式:查詢方式、中斷方式
實(shí)際應(yīng)用中,查詢用于發(fā)送:a.應(yīng)用程序把發(fā)送的字符存放到發(fā)送寄存器或發(fā)送緩沖區(qū)中b.啟動(dòng)發(fā)送c.通信控制器發(fā)送數(shù)據(jù)d.通信控制器發(fā)送完成后,置位發(fā)送完成標(biāo)志d.應(yīng)用程序或接口函數(shù)查詢發(fā)送標(biāo)志,如果發(fā)送完成則返回,繼續(xù)下面的操作。中斷用于接受:通信控制器接受到一個(gè)字符就會(huì)產(chǎn)生一個(gè)中斷?!?.開(kāi)發(fā)流程————————————————
嵌入式系統(tǒng)開(kāi)發(fā)的基本流程?1)系統(tǒng)定義與需求分析;2)系統(tǒng)設(shè)計(jì)方案的初步確立;3)初步設(shè)計(jì)方案性價(jià)比評(píng)估與方案評(píng)審論證;4)完善初步方案、初步方案實(shí)施;5)軟硬件集成測(cè)試;6)系統(tǒng)功能性能測(cè)試及可靠性測(cè)試。
嵌入式系統(tǒng)開(kāi)發(fā)過(guò)程:需求分析階段、詳細(xì)設(shè)計(jì)階段、開(kāi)發(fā)階段、測(cè)試階段。需求分析階段:
1.分析用戶的需求(分析用戶對(duì)產(chǎn)品的需求、確認(rèn)用戶的需求、羅列用戶的需求、需求的內(nèi)部一致性)
2.確定硬件和軟件(處理器、總線吞吐量、嵌入式操作系統(tǒng)、編程語(yǔ)言、第三方軟件或庫(kù)函數(shù)、第三方硬件)
3.對(duì)需求分析的結(jié)果進(jìn)行檢查(原因、目的、方法和內(nèi)容)
4.確定項(xiàng)目的約束條件(約束隨時(shí)可能出現(xiàn)、約束影響所選擇的方法、約束會(huì)滋長(zhǎng)新的約束、太多的約束將使進(jìn)行中的項(xiàng)目變?yōu)椴豢赡埽?/p>
5.概要設(shè)計(jì)(系統(tǒng)結(jié)構(gòu)模型建立方式、系統(tǒng)結(jié)構(gòu)模型建立流程<硬件:功能設(shè)計(jì)、結(jié)構(gòu)化設(shè)計(jì)、物理設(shè)計(jì)與實(shí)現(xiàn) / 軟件:功能分析與設(shè)計(jì)、軟件模塊劃分、模塊開(kāi)發(fā)與實(shí)現(xiàn)>)詳細(xì)設(shè)計(jì)階段:
1.審查分析資料:審查分析資料、審查分析條件
2.體系結(jié)構(gòu)設(shè)計(jì):1)系統(tǒng)是硬實(shí)時(shí)系統(tǒng)還是軟實(shí)時(shí)系統(tǒng)2)操作系統(tǒng)是否需要嵌入3)物理系統(tǒng)的成本、尺寸和耗電量是否是產(chǎn)品成功的關(guān)鍵因素4)選擇處理器和相關(guān)硬件 3.硬件和軟件的劃分
4.硬件和軟件的設(shè)計(jì)次序:先設(shè)計(jì)硬件、先設(shè)計(jì)軟件、軟硬件同時(shí)設(shè)計(jì)
硬件設(shè)計(jì):設(shè)計(jì)硬件子系統(tǒng)、定義硬件接口
嵌入式系統(tǒng)硬件子系統(tǒng)組成:處理器子系統(tǒng)、存儲(chǔ)器子系統(tǒng)、附屬電路、I/O子系統(tǒng) 設(shè)計(jì)嵌入式硬件系統(tǒng):復(fù)用原則、模塊化原則、標(biāo)準(zhǔn)化原則
軟件設(shè)計(jì):設(shè)計(jì)軟件子系統(tǒng)、定義軟件接口、規(guī)定系統(tǒng)啟動(dòng)和關(guān)閉過(guò)程、確定出錯(cuò)處理方案
5.檢查設(shè)計(jì)
科研開(kāi)發(fā)階段:
構(gòu)造嵌入式開(kāi)發(fā)環(huán)境有哪幾種形式?1)交叉開(kāi)發(fā)環(huán)境 ;2)軟件模擬環(huán)境 ;3)評(píng)估電路板
1.選擇開(kāi)發(fā)平臺(tái)(硬件平臺(tái)、操作系統(tǒng)、編程語(yǔ)言、開(kāi)發(fā)工具):選擇處理器、選擇硬件部件、選擇嵌入式操作系統(tǒng)、選擇編程語(yǔ)言、評(píng)估板
2.軟件開(kāi)發(fā)過(guò)程:嵌入式系統(tǒng)的軟件開(kāi)發(fā)過(guò)程<建立交叉開(kāi)發(fā)環(huán)境、編譯和連接、重定位和下載、調(diào)試>、在主機(jī)系統(tǒng)上驗(yàn)證軟件、在目標(biāo)系統(tǒng)上驗(yàn)證軟件、代碼優(yōu)化<清除程序中的無(wú)用代碼、清除為調(diào)試所引入的代碼、避免使用大型的庫(kù)例程、避免使用遞歸式例程、避免浮點(diǎn)操作、通過(guò)使用非常簡(jiǎn)單的訣竅來(lái)提高程序的執(zhí)行效率、將訪問(wèn)最頻繁的變量聲明為寄存器變量或自動(dòng)變量、盡量使用無(wú)符號(hào)數(shù)據(jù)類(lèi)型、如果某函數(shù)或例程消耗大量運(yùn)行時(shí)間就改用匯編語(yǔ)言編寫(xiě)、與處理器的開(kāi)發(fā)工具一起提供的編譯器有一個(gè)代碼優(yōu)化器> 測(cè)試階段:
測(cè)試原因:在軟件中找到錯(cuò)誤、減少用戶與公司的風(fēng)險(xiǎn)、節(jié)約開(kāi)發(fā)與維護(hù)成本、提高性能 1.找到錯(cuò)誤2.減少風(fēng)險(xiǎn)3.開(kāi)發(fā)關(guān)鍵性任務(wù)軟件4.節(jié)約成本5.提高性能
Top-down設(shè)計(jì)方法:自頂向下設(shè)計(jì)的簡(jiǎn)稱,在組件設(shè)計(jì)中應(yīng)用,其意義是先確定總體思路、設(shè)計(jì)總體布局,然后設(shè)計(jì)零部件,從而完成一個(gè)完整的設(shè)計(jì)。
———————————————6 裸機(jī)系統(tǒng)的軟件開(kāi)發(fā)—————————————— 裸機(jī)嵌入式系統(tǒng)的軟件組成:初始化引導(dǎo)代碼、用戶應(yīng)用程序、中斷服務(wù)程序、庫(kù)函數(shù)模塊、子程序或函數(shù)。移植的必要性:
1.嵌入式處理器的原因:每一種處理器都有一個(gè)生命周期,如果重要的嵌入式系統(tǒng)裝置采用了淘汰的處理器,那么在處理器出現(xiàn)問(wèn)題時(shí),會(huì)對(duì)系統(tǒng)長(zhǎng)期運(yùn)行帶來(lái)重大隱患。
2.操作系統(tǒng)的原因:以前嵌入式系統(tǒng)的開(kāi)發(fā)工具不是很完善,一種嵌入式應(yīng)用軟件往往只能運(yùn)行在一種嵌入式操作系統(tǒng)上。如果應(yīng)用軟件需要運(yùn)行在新的操作系統(tǒng)平臺(tái)上,就要考慮應(yīng)用軟件在操作系統(tǒng)平臺(tái)上的移植。(a.裸機(jī)系統(tǒng)的嵌入式系統(tǒng)軟件移植;b.基于嵌入式操作系統(tǒng)開(kāi)發(fā)的嵌入式系統(tǒng)軟件的移植)
裸機(jī)系統(tǒng)的軟件移植:基于模塊化和可移植的嵌入式系統(tǒng)應(yīng)用軟件可分為應(yīng)用軟件、輸入/輸出模塊(與硬件有關(guān))、嵌入式微控制器硬件,對(duì)上面的軟件結(jié)構(gòu)做進(jìn)一步的細(xì)分:應(yīng)用軟件、輸入/輸出模塊(與硬件無(wú)關(guān))、硬件抽象層(與硬件有關(guān))、嵌入式微控制器硬件,這樣的四層軟件結(jié)構(gòu)使可移植的代碼進(jìn)一步減少,減少了移植的工作量。
基于裸機(jī)的移植:對(duì)很多小型系統(tǒng),沒(méi)有操作系統(tǒng),有些用匯編語(yǔ)言編程,基本上沒(méi)法移植。如采用移植性比較好的C語(yǔ)言,可以考慮移植。設(shè)計(jì)時(shí)考慮模塊化和層次化。在處理器的硬件層上增加了一個(gè)硬件抽象層,把I/O設(shè)計(jì)成不是基于硬件的,而是基于抽象層的,屏蔽了硬件的特性,可以減少移植的代碼量。
可移植應(yīng)用軟件的設(shè)計(jì)原則:a.層次化:縱向結(jié)構(gòu),下層通過(guò)API為上層服務(wù),上層利用下層的服務(wù);定義清晰的接口和功能,層數(shù)要合適,太多增加復(fù)雜性降低效率,太少失去了分層的意義;移植時(shí)通常只需修改底層的軟件,并保持與上層接口的API不變。b.模塊化:體現(xiàn)在軟件的整體設(shè)計(jì)和同一層次內(nèi)部的設(shè)計(jì);模塊之間一般是獨(dú)立的而不是相互依賴的;模塊之間可以根據(jù)操作系統(tǒng)提供的方法來(lái)通信。c.設(shè)計(jì)硬件抽象層:層次化的最底層。在硬件抽象層,將系統(tǒng)硬件和軟件完全分離開(kāi)。獨(dú)立開(kāi)發(fā)、調(diào)試。可以縮短開(kāi)發(fā)周期、提高可靠性。
硬件抽象層:硬件抽象層是位于操作系統(tǒng)內(nèi)核與硬件電路之間的接口層,其目的在于將硬件抽象化。它隱藏了特定平臺(tái)的硬件接口細(xì)節(jié),為操作系統(tǒng)提供虛擬硬件平臺(tái),使其具有硬件無(wú)關(guān)性,可在多種平臺(tái)上進(jìn)行移植。從軟硬件測(cè)試的角度來(lái)看,軟硬件的測(cè)試工作都可分別基于硬件抽象層來(lái)完成,使得軟硬件測(cè)試工作的并行進(jìn)行成為可能。
硬件抽象層特點(diǎn):硬件抽象層具有與硬件密切相關(guān)性;硬件抽象層具有與操作系統(tǒng)和應(yīng)用軟件的無(wú)關(guān)性;接口定義簡(jiǎn)單明了,太多接口函數(shù)會(huì)增加軟件模擬的復(fù)雜性;具有可測(cè)性的接口設(shè)計(jì)有利于系統(tǒng)的軟硬件測(cè)試和集成。
硬件抽象層設(shè)計(jì)步驟:a.分析接口的數(shù)據(jù)傳輸特性(雙向/單向數(shù)據(jù)傳輸,字節(jié)型/數(shù)據(jù)幀型傳輸模式)b.分析接口配置屬性c.定義所需的相關(guān)函數(shù)d.定義接口函數(shù)的參數(shù)和算法e.函數(shù)開(kāi)發(fā)與測(cè)試
嵌入式Linux系統(tǒng)移植的一般過(guò)程:嵌入式系統(tǒng)的開(kāi)發(fā)和應(yīng)用層軟件的開(kāi)發(fā)不同,有其自身的特點(diǎn),尤其在開(kāi)發(fā)流程上有很大的不同。從大體上講,Linux系統(tǒng)移植一般分為下面幾步:1)開(kāi)發(fā)環(huán)境的搭建嵌入式系統(tǒng)移植過(guò)程中,目標(biāo)機(jī)和宿主機(jī)往往在軟硬件環(huán)境上有很大的不同,開(kāi)發(fā)時(shí)常常在功能強(qiáng)大的宿主機(jī)上進(jìn)行,這就形成了交叉開(kāi)發(fā)環(huán)境的搭建與選擇問(wèn)題。同時(shí)由于宿主機(jī)和目標(biāo)機(jī)在體系結(jié)構(gòu)等方面的差異,編譯時(shí)也需要采用交叉編譯工具對(duì)目標(biāo)代碼進(jìn)行編譯,這樣,才能使生成的可執(zhí)行文件在目標(biāo)機(jī)上能夠執(zhí)行。2)系統(tǒng)引導(dǎo)在微處理器第一次啟動(dòng)的時(shí)候,會(huì)從預(yù)定的、固定的地址空間開(kāi)始執(zhí)行指令。一般的嵌入式系統(tǒng)中并沒(méi)有PC機(jī)上的BIOS,而是由一種稱為Bootloader的系統(tǒng)引導(dǎo)程序來(lái)完成上述功能,啟動(dòng)代碼完全依賴于硬件,需要在系統(tǒng)移植中完成。3)內(nèi)核引導(dǎo)系統(tǒng)移植的開(kāi)發(fā)人員還應(yīng)當(dāng)完成Bootloader和內(nèi)核的銜接部分的移植以及I/O映射、存儲(chǔ)器映射等與目標(biāo)硬件平臺(tái)相關(guān)的板級(jí)初始化和CPU自身初始化的移植工作。4)設(shè)備驅(qū)動(dòng)程序Linux內(nèi)核源代碼樹(shù)中的相當(dāng)大部分是各類(lèi)驅(qū)動(dòng)程序,在實(shí)際的開(kāi)發(fā)過(guò)程中,也需要對(duì)相應(yīng)的設(shè)備進(jìn)行驅(qū)動(dòng),如LCD、網(wǎng)卡、觸摸屏等等進(jìn)行移植和編寫(xiě)。由于一般在Linux源碼和相關(guān)社區(qū)中都擁有相當(dāng)豐富的設(shè)備驅(qū)動(dòng)源碼資源,因此,設(shè)備驅(qū)動(dòng)的任務(wù)主要是相近源碼的移植修改工作。5)文件系統(tǒng)在嵌入式Linux內(nèi)核啟動(dòng)的最后階段,將進(jìn)行文件系統(tǒng)的加載。不同的嵌入式目標(biāo)平臺(tái)有不同的應(yīng)用需求,需要根據(jù)具體情況實(shí)現(xiàn)對(duì)文件系統(tǒng)的移植工作。目前,常用的嵌入式文件系統(tǒng)有JFFS2、Cramfs、Romfs等。
——————————————3?!幚砥鳌?嵌入式處理器子系統(tǒng):通用微處理器、嵌入式微控制器、嵌入式微處理器、DSP,有時(shí)還可以使用可編程邏輯器件(FPGA或CPLD)作為核心處理單元。
嵌入式處理器通常有3種芯片(微處理器、微控制器、數(shù)字信號(hào)處理器)
常用的嵌入式處理器通常分成哪幾大類(lèi)?嵌入式系統(tǒng)中的處理器通常分為三大類(lèi),即微處理器(Micro-Processor Unit,MPU)、微控制器(Micro-Controller Unit,MCU)和數(shù)字信號(hào)處理器(DSP)。微處理器是指功能較強(qiáng)大的CPU,它不是為任何特定的計(jì)算目標(biāo)而設(shè)計(jì)的。因此這種芯片通常用于個(gè)人計(jì)算機(jī)與服務(wù)器。微控制器是針對(duì)嵌入式系統(tǒng)而設(shè)計(jì)的,它將CPU、存儲(chǔ)器以及其他外設(shè)都集成在同一片電路板上。數(shù)字信號(hào)處理器(DSP)中的CPU是針對(duì)快速離散時(shí)間信號(hào)處理計(jì)算的。因此,DSP非常適用于音頻及視頻通信?,F(xiàn)代的芯片生產(chǎn)工藝已經(jīng)允許將重要處理器的內(nèi)核和各種外圍的芯片器件整合在一起,以進(jìn)一步降低功耗,達(dá)到專用的需求,這時(shí),便出現(xiàn)了片上系統(tǒng)SoC(System On Chip)。
什么是可編程片上系統(tǒng)?用可編程邏輯技術(shù)把整個(gè)系統(tǒng)放到一塊硅片上,稱作可編程片上系統(tǒng)SOPC.它是一種特殊的嵌入式系統(tǒng),首先它是SOC,即由單個(gè)芯片實(shí)現(xiàn)整個(gè)系統(tǒng)的主要邏輯功能,具有一般SOC基本屬性;其次,它又具備軟硬件在系統(tǒng)可編程的功能,是可編程系統(tǒng),具有可裁剪、可擴(kuò)充、可升級(jí)等靈活的設(shè)計(jì)方式。DSP是專門(mén)為處理密集的數(shù)學(xué)算法而設(shè)計(jì)的微處理器,信號(hào)的數(shù)據(jù)量大,需要很強(qiáng)的實(shí)時(shí)性。嵌入式處理器的技術(shù)指標(biāo):功能、字寬、處理速度、工作溫度、功耗、尋職能力、平均故障間隔時(shí)間、性能價(jià)格比、工藝、電磁兼容性指標(biāo)
選擇嵌入式處理器:夠用原則、成本原則、考慮選擇的參數(shù)
微控制器本身的支持電路:1.電源、地、電源濾波2.時(shí)鐘電路3.復(fù)位電路 通用處理器與嵌入式處理器有哪些相同和不同的地方?
嵌入式微處理器一般具備四個(gè)特點(diǎn):對(duì)實(shí)時(shí)和多任務(wù)有很強(qiáng)的支持能力,能完成多任務(wù)并且有較短的中斷響應(yīng)時(shí)間,從而使內(nèi)部的代碼和實(shí)時(shí)操作系統(tǒng)的執(zhí)行時(shí)間減少到最低限度;具有功能很強(qiáng)的存儲(chǔ)區(qū)保護(hù)功能;可擴(kuò)展的處理器結(jié)構(gòu),以能迅速地?cái)U(kuò)展出滿足應(yīng)用的高性能的嵌入式微處理器;嵌入式處理器的功耗必須很低;嵌入式處理器與通用處理器的最大區(qū)別在于嵌入式處理器集成了大量的不同功能的I/O模塊。用戶在開(kāi)發(fā)嵌入式系統(tǒng)時(shí),可以根據(jù)系統(tǒng)需求選擇合適的嵌入式處理器,而無(wú)需再另外配備I/O電路。
ARM微處理器的七種運(yùn)行(工作)模式:用戶模式、快速中斷模式、外部中斷模式、管理模式、數(shù)據(jù)訪問(wèn)終止模式、系統(tǒng)模式、未定義指令中止模式。
ARM核現(xiàn)在有哪幾種?ARM7、ARM9、ARM9E、ARM10E,、SecurCore、ARM11
ARM狀態(tài)下和Thumb狀態(tài)下寄存器的組織有何不同?Thumb狀態(tài)下的寄存器集是ARM狀態(tài)下寄存器集的一個(gè)子集,程序可以直接訪問(wèn)8個(gè)通用寄存器(R7~R0)、程序計(jì)數(shù)器(PC)、堆棧指針(SP)、連接寄存器(LR)和CPSR。同時(shí),在每一種特權(quán)模式下都有一組SP、LR和SPSR。在Thumb狀態(tài)下,高位寄存器R8~R15并不是標(biāo)準(zhǔn)寄存器集的一部分,但可使用匯編語(yǔ)言程序受限制的訪問(wèn)這些寄存器,將其用作快速的暫存器。
如何從ARM指令集跳轉(zhuǎn)到Thumb指令集?ARM指令集中的跳轉(zhuǎn)指令與匯編語(yǔ)言中的跳轉(zhuǎn)指令有什么區(qū)別?進(jìn)入Thumb指令模式有2種方法:一種是執(zhí)行一條交換轉(zhuǎn)移指令BX,將指令中的目標(biāo)地址寄存器的最低位置1,并將其他位的值放入程序計(jì)數(shù)器PC,則可進(jìn)入Thumb指令。另一種方法是利用異常返回,也可把微處理器從ARM模式轉(zhuǎn)換為T(mén)humb模式。在這個(gè)過(guò)程中,ARM提供了2種機(jī)制:當(dāng)返回地址保存在當(dāng)前異常模式的R14(LR)時(shí),采用傳送指令;當(dāng)返回地址保存在堆棧時(shí),使用多寄存器Load/Store指令。ARM指令集中的跳轉(zhuǎn)指令與匯編語(yǔ)言中的跳轉(zhuǎn)指令的區(qū)別是ARM指令集中的跳轉(zhuǎn)指令可以直接向程序計(jì)數(shù)器PC寫(xiě)入跳轉(zhuǎn)地址值。
有時(shí)要使用Thumb技術(shù)的原因(Thumb指令集是把32位的ARM指令集的一個(gè)子集重新編碼后形成的一個(gè)特殊的16位指令集。)在性能和代碼大小之間取得平衡,在需要較低的存儲(chǔ)代碼時(shí)采用Thumb指令系統(tǒng)用Thumb指令編寫(xiě)最小代碼量的程序(能夠很好的解決代碼長(zhǎng)度的問(wèn)題),卻取得以ARM代碼執(zhí)行的最好性能,可以帶來(lái)低功耗,小體積,低成本。比較ARM9與ARM7處理器的性能特點(diǎn),它們有哪些不同?
答:ARM7提供了非常好的性能-功耗比,它包含了Thumb指令集快速乘法指令和ICE調(diào)試技術(shù)的內(nèi)核。ARM9處理器通過(guò)全新的設(shè)計(jì),采用了更多的晶體管,能夠達(dá)到兩倍以上于ARM7處理器的處理能力。ARM7內(nèi)核是0.9MIPS/MHz的三級(jí)流水線和馮.諾伊曼結(jié)構(gòu),而ARM9內(nèi)核是5級(jí)流水線,提供1.1MIPS/MHz的哈佛結(jié)構(gòu)。從ARM7到ARM9的性能提升還來(lái)源于存儲(chǔ)器讀寫(xiě)指令——load和store,以及互鎖技術(shù)的應(yīng)用。
寄存器R13,R14,R15的專用功能各是什么?1)寄存器R13保存堆棧指針SP;2)寄存器R14用作子程序鏈接寄存器,也稱為L(zhǎng)R,用以保存返回地址;3)R15(PC)用作程序計(jì)數(shù)器。
寄存器CPSR,SPSR的功能各是什么?1)CPSR包含條件碼標(biāo)志、中斷禁止位、當(dāng)前處理器模式以及其它狀態(tài)和控制信息。所有處理器模式下都可以訪問(wèn)當(dāng)前的程序狀態(tài)寄存器CPSR。2)在每種異常模式下都有一個(gè)對(duì)應(yīng)的物理寄存器——程序狀態(tài)保存寄存器SPSR。當(dāng)異常出現(xiàn)時(shí),SPSR用于保存CPSR的狀態(tài),以便異常返回后恢復(fù)異常發(fā)生時(shí)的工作狀態(tài)。ARM的異常有哪幾種,各進(jìn)入何種工作模式?他們退出各采用什么指令? 1)復(fù)位(Reset)異常(管理模式);2)未定義指令(undefined instruction)異常(未定義模式);3)軟件中斷(SWI)異常(管理模式);4)指令預(yù)取中止(Prefech Abort)異常(中止模式);5)數(shù)據(jù)訪問(wèn)中止(Data Abort)(中止模式);6)快速中斷請(qǐng)求(FIQ)(FIQ模式);
7)外部中斷請(qǐng)求(IRQ)(IRQ模式)。
異常返回指令:1)SWI,未定義的返回:MOVS PC,R14;2)IRQ,FIQ,預(yù)取中止的返回:SUBS PC,R14,#4;3)數(shù)據(jù)中止返回并重新存?。篠UBS PC,R14,#8
異常中斷的優(yōu)先級(jí):復(fù)位(最高優(yōu)先級(jí))--> 數(shù)據(jù)異常中止--->FIQ--> IRQ--->預(yù)取指異常中止--->SWI---->未定義指令(包括缺協(xié)處理器)。
在ARM的立即尋址方式下其立即數(shù)如何在指令編碼中表示?在ARM數(shù)據(jù)處理指令中,當(dāng)參與操作的第二操作數(shù)為立即數(shù)型時(shí),每個(gè)立即數(shù)都是采用一個(gè)8位的常數(shù)循環(huán)右移偶數(shù)位而間接得到。其中循環(huán)右移的位數(shù)由一個(gè)4位二進(jìn)制的兩倍表示,如果立即數(shù)記作
指令A(yù)DR,ADRL、LDR、NOP是如何處理地址值讀入到寄存器中的?ADR是將基于PC或者寄存器的地址值讀入到寄存器的,ADR偽指令通常被替換成一條ADD指令或SUB指令來(lái)實(shí)現(xiàn)該ADR指令的功能。而ADRL偽指令與ADR指令的最大不同之處是,它可以讀取更大范圍內(nèi)的地址,而且被編譯器替換成2條數(shù)據(jù)處理指令。LDR將一個(gè)32位的立即數(shù)或者一個(gè)地址值讀取到寄存器中。大范圍的地址讀取。NOP在匯編時(shí)將被替換成ARM中的空操作。指令LDR R1,=0xFFF是如何將立即數(shù)0xfff讀入到R1的?由于需要讀取的寄存器的數(shù)據(jù)超過(guò)了MOV及MVN指令可操作的范圍,編譯器將該常數(shù)放在數(shù)據(jù)緩沖區(qū)中,同時(shí)用一條基于PC的LDR指令讀取該常數(shù)。
LDR R1,[PC,offset_to_LPOOL]......LTORG;聲明數(shù)據(jù)緩沖池
LPOOL DCD OxFFF; OxFFF放在數(shù)據(jù)緩沖池中。
在C語(yǔ)言程序如何調(diào)用匯編語(yǔ)言程序?為了保證程序調(diào)用時(shí)參數(shù)的正確傳遞,匯編程序的設(shè)計(jì)要遵守ATPCS。在匯編程序中需要使用EXPORT偽操作來(lái)聲明,使得本程序可以被其它程序調(diào)用。同時(shí),在C程序調(diào)用該匯編程序之前需要在C語(yǔ)言程序中使用extern關(guān)鍵詞來(lái)聲明該匯編程序。
匯編語(yǔ)言程序調(diào)用C語(yǔ)言程序?為了保證程序調(diào)用時(shí)參數(shù)的正確傳遞,匯編程序的設(shè)計(jì)要遵守ATPCS。在C程序中不需要使用任何關(guān)鍵字來(lái)聲明將被匯編語(yǔ)言調(diào)用的C程序,但是在匯編程序調(diào)用該C程序之前需要在匯編語(yǔ)言程序中使用IMPORT偽操作來(lái)聲明該C程序。在匯編程序中通過(guò)BL指令來(lái)調(diào)用子程序。
在嵌入式C語(yǔ)言程序設(shè)計(jì)中為提高程序效率的相關(guān)設(shè)計(jì)技巧。1)變量定義;2)參數(shù)傳遞;3)循環(huán)條件;4)以空間換時(shí)間;5)數(shù)學(xué)方法解決問(wèn)題;6)使用位操作;7)嵌入?yún)R編?!?.—存儲(chǔ)器——————————————————— 存儲(chǔ)器3種(隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、混合存儲(chǔ)器)
存儲(chǔ)器的性能指標(biāo):易失性、只讀性、位容量、速度、功耗、可靠性、價(jià)格
SRAM(靜態(tài)隨機(jī)存儲(chǔ)器)和DRAM特點(diǎn)比較:SRAM比DRAM速度快;工作時(shí),SRAM比DRAM功耗大;DRAM存儲(chǔ)密度大于SRAM;DRAM需要周期性刷新,需要使用專用的DRAM控制器;價(jià)格方面,小容量用SRAM,大容量用DRAM。
只讀存儲(chǔ)器ROM:EPROM、EEPROM、Flash(快閃存儲(chǔ)器)
不可擦除型:掩膜只讀存儲(chǔ)器ROM、可一次編程只讀存儲(chǔ)器PROM 可擦除型:EPROM、EEPROM、Flash
什么是小端和大端存儲(chǔ)器組織?1)小端存儲(chǔ)器組織是較高的有效字節(jié)存放在較高的存儲(chǔ)器地址,較低的有效字節(jié)存放在較低的存儲(chǔ)器地址(同同?。?。2)大端存儲(chǔ)器組織是較高的有效字節(jié)存放在較低的存儲(chǔ)器地址,較低的有效字節(jié)存放在較高的存儲(chǔ)器地址(正反大)。——————5——I/O模塊、電路、譯碼器—————————————————— 嵌入式處理器的復(fù)位電路:阻容復(fù)位電路、手動(dòng)復(fù)位電路、專用復(fù)位電路、軟件復(fù)位和看門(mén)狗復(fù)位
時(shí)鐘電路:RC時(shí)鐘、石英晶體、石英振蕩器、鎖相倍頻時(shí)鐘、多時(shí)鐘源 I/O接口的信號(hào)(外設(shè)):數(shù)據(jù)信息、控制信息、狀態(tài)信息 寄存器地址的映射方式:與存儲(chǔ)器統(tǒng)一編址、單獨(dú)編址
定時(shí)器/計(jì)時(shí)器的工作模式:1.門(mén)脈沖控制時(shí)鐘輸入2.利用門(mén)脈沖重新啟動(dòng)計(jì)數(shù)3.利用門(mén)脈沖停止計(jì)數(shù)4.單一計(jì)數(shù)5.循環(huán)計(jì)數(shù)
什么是數(shù)據(jù)的邊界對(duì)齊?默認(rèn)情況下,ADS編譯器使用的是數(shù)據(jù)類(lèi)型的自然邊界對(duì)其方式。數(shù)據(jù)的自然對(duì)其方式是指:如果該數(shù)據(jù)類(lèi)型是n個(gè)字節(jié)的,那么該數(shù)據(jù)類(lèi)型就按n字節(jié)對(duì)齊。
————————————————7操作系統(tǒng)—————————————————— 操作系統(tǒng)是管理計(jì)算機(jī)硬件資源,控制其他程序運(yùn)行并為用戶提供交互操作界面的系統(tǒng)軟件的集合。操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)的關(guān)鍵組成部分,負(fù)責(zé)管理與配置內(nèi)存、決定系統(tǒng)資源供需的優(yōu)先次序、控制輸入與輸出設(shè)備、操作網(wǎng)絡(luò)與管理文件系統(tǒng)等基本任務(wù)。
操作系統(tǒng)的五大類(lèi)型:批處理操作系統(tǒng)、分時(shí)操作系統(tǒng)、實(shí)時(shí)操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)、分布式操作系統(tǒng)。
操作系統(tǒng)結(jié)構(gòu)組成:內(nèi)核、進(jìn)程、線程、類(lèi)程、管程
操作系統(tǒng)功能組成:1.處理器管理a.任務(wù)調(diào)度:保存當(dāng)前任務(wù)的上下文;選擇下一個(gè)任務(wù);加載下一個(gè)任務(wù)的上下文;轉(zhuǎn)交控制臺(tái)給下一個(gè)任務(wù)b.協(xié)作與占先多任務(wù):協(xié)作多任務(wù)、占先多任務(wù)2.存儲(chǔ)管理 3.文件管理
嵌入式操作系統(tǒng)特點(diǎn):實(shí)時(shí)性、可裁減性、可靠性 嵌入式操作系統(tǒng)的主要技術(shù)指標(biāo):a.任務(wù)調(diào)度算法b.上下文切換時(shí)間c.確定性d.最小內(nèi)存開(kāi)銷(xiāo)e.最大中斷禁止時(shí)間
目前嵌入式操作系統(tǒng)有哪些? 1)μC/OS-II 嵌入式操作系統(tǒng)內(nèi)核;2)VxWorks嵌入式實(shí)時(shí)操作系統(tǒng);3)WinCE操作系統(tǒng);4)Linux操作系統(tǒng) ;5)Symbian操作系統(tǒng)
嵌入式操作系統(tǒng)的主要任務(wù)有哪些?嵌入式操作系統(tǒng)通常包括與硬件相關(guān)的底層驅(qū)動(dòng)軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動(dòng)接口、通信協(xié)議、圖形界面、標(biāo)準(zhǔn)化瀏覽器等。嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的基本特點(diǎn),如能夠有效管理越來(lái)越復(fù)雜的系統(tǒng)資源;能夠把硬件虛擬化,使得開(kāi)發(fā)人員從繁忙的驅(qū)動(dòng)程序移植和維護(hù)中解脫出來(lái);能夠提供庫(kù)函數(shù)、驅(qū)動(dòng)程序、工具集以及應(yīng)用程序。
實(shí)時(shí)操作系統(tǒng),其主要功能是什么?實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)簡(jiǎn)稱實(shí)時(shí)操作系統(tǒng),主要用來(lái)完成嵌入式實(shí)時(shí)應(yīng)用的任務(wù)調(diào)度和控制等核心功能。這些功能是通過(guò)內(nèi)核服務(wù)函數(shù)形式交給用戶調(diào)用的,也就是RTOS的系統(tǒng)調(diào)用,或者叫做RTOS的API。實(shí)時(shí)性實(shí)現(xiàn)(RTOS實(shí)時(shí)操作系統(tǒng)見(jiàn)第七章):根據(jù)操作系統(tǒng)特性,調(diào)度一切可利用的資源完成實(shí)時(shí)控制任務(wù),在時(shí)間限制內(nèi)區(qū)別、處理離散事件和存儲(chǔ)控制系統(tǒng)的大量數(shù)據(jù)。
開(kāi)發(fā)Linux應(yīng)用程序一般分為哪幾個(gè)步驟。1)編寫(xiě)程序。2)編寫(xiě)makefile文件。3)編譯程序。4)運(yùn)行程序。5)將生成的可執(zhí)行文件加入文件系統(tǒng)。Linux虛擬內(nèi)存的實(shí)現(xiàn)需要的6種機(jī)制:1)地址映射。2)內(nèi)存分配回收。3)緩存和刷新。4)請(qǐng)求頁(yè)。5)交換。6)內(nèi)存管理機(jī)制。
嵌入式Linux操作系統(tǒng)的特點(diǎn)。答:廣泛的硬件支持、內(nèi)核高效穩(wěn)定、開(kāi)放源碼,軟件豐富、優(yōu)秀的開(kāi)發(fā)工具、完善的網(wǎng)絡(luò)通信和文件管理機(jī)制,Windows CE操作系統(tǒng)及其特點(diǎn)。Windows CE是一個(gè)32位、多任務(wù)、多線程的操作系統(tǒng),其開(kāi)放式的設(shè)計(jì)結(jié)構(gòu)適用于各種各樣的設(shè)備,其主要特點(diǎn):是一種壓縮并可升級(jí)的軟件系統(tǒng),即使在小內(nèi)存條件下,也能提供較高的性能;具有便于攜帶的優(yōu)點(diǎn),可以運(yùn)行于多種微處理器上;擁有很好的電源管理系統(tǒng),能延長(zhǎng)移動(dòng)設(shè)備的電池壽命;支持標(biāo)準(zhǔn)的通訊系統(tǒng),可以非常方便地訪問(wèn)Internet,發(fā)送和接受電子郵件,瀏覽萬(wàn)維網(wǎng)。設(shè)計(jì)嵌入式應(yīng)用系統(tǒng)時(shí),對(duì)嵌入式操作系統(tǒng)有哪些基本要求? 嵌入式操作系統(tǒng)中任務(wù)控制方式(任務(wù)控制功能):任務(wù)的創(chuàng)建、刪除、改變?nèi)蝿?wù)的狀態(tài)、優(yōu)先級(jí)等。
任務(wù)之間的通信方式:信箱、隊(duì)列、管道 任務(wù)之間的同步方式:信號(hào)量(semaphore)、事件組(event group)、信號(hào)(signal)嵌入式操作系統(tǒng)常用的存儲(chǔ)器管理方法有哪幾種?各自的優(yōu)缺點(diǎn)是什么?
———————————————8網(wǎng)絡(luò)與協(xié)議棧——————————————— 網(wǎng)絡(luò)的抽象模型:開(kāi)放式系統(tǒng)互聯(lián)參考模型(OSI/RM)a.物理層b.數(shù)據(jù)鏈路層c.網(wǎng)絡(luò)層 d..傳輸層e,會(huì)話層f.表示層g應(yīng)用層
現(xiàn)場(chǎng)總線網(wǎng)絡(luò)(FF)的結(jié)構(gòu)及功能:a.物理層:規(guī)定了信號(hào)如何發(fā)送b.數(shù)據(jù)鏈路層:規(guī)定如何在設(shè)備間共享網(wǎng)絡(luò)和調(diào)度通信c.應(yīng)用層
目前在使用的現(xiàn)場(chǎng)總線網(wǎng)絡(luò)與協(xié)議:HART、Profibus、CAN、Control Net
嵌入式系統(tǒng)聯(lián)網(wǎng)主要考慮哪些因素?a.選擇協(xié)議棧b.選擇成熟的實(shí)現(xiàn)方案c.使用標(biāo)準(zhǔn)的應(yīng)用協(xié)議d.流行的網(wǎng)絡(luò)體系結(jié)構(gòu)
接入Internet的方式:直接介入Internet、通過(guò)網(wǎng)關(guān)接入
嵌入式TCP/IP協(xié)議棧與普通協(xié)議棧相比,有哪些相同和不同的地方?
嵌入式協(xié)議棧的API可能與普通的協(xié)議棧不同:普通協(xié)議棧的接口是標(biāo)準(zhǔn)的,標(biāo)準(zhǔn)化的優(yōu)點(diǎn)是提高了應(yīng)用軟件兼容性,但為了實(shí)現(xiàn)標(biāo)準(zhǔn)化接口,需要使用大量代碼,效率低開(kāi)銷(xiāo)大2.嵌入式協(xié)議棧的可裁剪性3.嵌入式TCP/IP協(xié)議棧的平臺(tái)兼容性4.嵌入式協(xié)議棧的效率較高
———————————————11人機(jī)界面———————————————
人機(jī)界面(HMI)是人與機(jī)器進(jìn)行交互的操作方式是用戶與及其相互傳遞信息的媒介。嵌入式系統(tǒng)對(duì)GUI的基本要求是什么?
GUI在嵌入式系統(tǒng)或者實(shí)時(shí)系統(tǒng)中的地位將越來(lái)越重要,這些系統(tǒng)對(duì)GUI的基本要求包括:輕型、占用資源少、高性能、高可靠性、可配置、可移植等特點(diǎn)。
MiniGUI具有的技術(shù)優(yōu)勢(shì):1).占用資源少 2).高性能、高可靠性 3).可定制配置 4).跨操作系統(tǒng)支持
MiniGUI結(jié)構(gòu):圖形抽象層、輸入抽象層、圖形設(shè)備接口、消息處理模塊、多窗口處理模塊和外觀支持模塊。
—————————————12案例分析—————————————————— PDA(個(gè)人數(shù)字助理)(與只能手機(jī)區(qū)別越來(lái)越模糊)
PDA硬件組成:嵌入式處理器、內(nèi)存、顯示、輸入、通信功能、網(wǎng)絡(luò)功能 PDA軟件配置:操作系統(tǒng)、應(yīng)用軟件
PDA硬件設(shè)計(jì):a.硬件配置b.原理方框圖設(shè)計(jì)c.電路原理圖設(shè)計(jì)d.PCB圖與制版 PDA軟件設(shè)計(jì):a.軟件配置b.軟件開(kāi)發(fā)工作c.關(guān)于應(yīng)用軟件開(kāi)發(fā)的考慮
API應(yīng)用程序編程接口,是一些預(yù)先定義的函數(shù)
BDM背景調(diào)試模式,通過(guò)BDM接口可以完成基本的調(diào)試功能
CRC循環(huán)冗余碼碼校驗(yàn),是一種特定的校驗(yàn)和算法,用來(lái)檢測(cè)最普遍的數(shù)據(jù)錯(cuò)誤。
Context Switch 上下文切換,多任務(wù)系統(tǒng)中,指CPU的控制權(quán)由運(yùn)行任務(wù)轉(zhuǎn)移到另外一個(gè)就緒任務(wù)時(shí)所發(fā)生的事件 DMA 直接存儲(chǔ)器訪問(wèn)
DRAM 動(dòng)態(tài)存儲(chǔ)器,是動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器最為常見(jiàn)的系統(tǒng)內(nèi)存。
DSP 數(shù)字信號(hào)處理器,通過(guò)使用數(shù)學(xué)技巧執(zhí)行轉(zhuǎn)換或提取信息,來(lái)處理現(xiàn)實(shí)信號(hào)的方法 EMPU 嵌入式微處理器 EMCU 嵌入式微控制器
EDSP嵌入式數(shù)字信號(hào)處理器 ESOC嵌入式片上系統(tǒng)
EPSOC 嵌入式可編程片上系統(tǒng)
EPROM是一種斷電后仍能保留數(shù)據(jù)的計(jì)算機(jī)儲(chǔ)存芯片——即非易失性的(非揮發(fā)性)EEPROM 電可擦可編程只讀存儲(chǔ)器,一種掉電后數(shù)據(jù)不丟失的存儲(chǔ)芯片 Event group 事件組,提供一種機(jī)制,指示某種系統(tǒng)事件的發(fā)生 FF現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)
FCS現(xiàn)場(chǎng)總線控制系統(tǒng)
FLASH 快閃存儲(chǔ)器,可快速讀取數(shù)據(jù),使數(shù)據(jù)不會(huì)因?yàn)閿嚯姸鴣G失
GPIO總線擴(kuò)展器,當(dāng)微控制器或芯片組沒(méi)有足夠的I/O端口,或當(dāng)系統(tǒng)需要采用遠(yuǎn)端串行通信或控制時(shí),GPIO產(chǎn)品能夠提供額外的控制和監(jiān)視功能
GUI圖形用戶界面,指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面
HAL 硬件抽象層,位于操作系統(tǒng)內(nèi)核與硬件電路之間的接口層,其目的在于將硬件抽象化 HART高速可尋址的遠(yuǎn)程變送器,主要為方便對(duì)現(xiàn)場(chǎng)設(shè)備的組態(tài)和管理 HMI 人機(jī)界面,是系統(tǒng)和用戶之間進(jìn)行交互和信息交換的媒介
HTTP超文本傳送協(xié)議一種詳細(xì)規(guī)定了瀏覽器和萬(wàn)維網(wǎng)服務(wù)器之間互相通信的規(guī)則,通過(guò)因特網(wǎng)傳送萬(wàn)維網(wǎng)文檔的數(shù)據(jù)傳送協(xié)議。
IOC 控制反轉(zhuǎn),是一個(gè)重要的面向?qū)ο缶幊痰姆▌t來(lái)削減計(jì)算機(jī)程序的耦合問(wèn)題
ISR中斷服務(wù)程序,不需要其他程序或主程序的調(diào)用,當(dāng)事件發(fā)生時(shí),中斷服務(wù)程序自動(dòng)運(yùn)行處理事件,處理完成后退出。
ICE在線仿真器,是最直接的仿真調(diào)試方法 ISS指令集模擬器,也叫軟件仿真器
IIC集成電路總線,是一種簡(jiǎn)單、雙向的二線制同步串行總線
JTAG聯(lián)合測(cè)試行動(dòng)小組,是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議,主要用于芯片內(nèi)部測(cè)試。LCD 液晶顯示器 LED發(fā)光二極管
Mailbox 信箱,一種任務(wù)間通信方式,用于在任務(wù)間發(fā)送和接收一個(gè)消息
OSI/RM開(kāi)放系統(tǒng)互連參考模型,是一個(gè)網(wǎng)絡(luò)體系結(jié)構(gòu)標(biāo)準(zhǔn),從低到高分七層:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、應(yīng)用層
PROFIBUS,是一種國(guó)際化.開(kāi)放式.不依賴于設(shè)備生產(chǎn)商的現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)
PDA 個(gè)人數(shù)字助理,輔助個(gè)人工作的數(shù)字工具,主要提供記事、通訊錄、名片交換及行程安排等功能。
RTOS實(shí)時(shí)操作系統(tǒng),是指當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時(shí),能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時(shí)間之內(nèi)來(lái)控制生產(chǎn)過(guò)程或?qū)μ幚硐到y(tǒng)作出快速響應(yīng),并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致運(yùn)行的操作系統(tǒng)
RAM隨機(jī)存儲(chǔ)器,存儲(chǔ)單元的內(nèi)容可按需隨意取出或存入,且存取的速度與存儲(chǔ)單元的位置無(wú)關(guān)的存儲(chǔ)器
ROM只讀存儲(chǔ)器,是一種只能讀出事先所存數(shù)據(jù)的存儲(chǔ)器
RTC 實(shí)時(shí)時(shí)鐘,是PC主板上的晶振及相關(guān)電路組成的時(shí)鐘電路的生成脈沖。SOC片上系統(tǒng),指的是在單個(gè)芯片上集成一個(gè)完整的系統(tǒng)
SRAM 靜態(tài)存儲(chǔ)器,一種具有靜止存取功能的內(nèi)存,不需要刷新電路即能保存它內(nèi)部存儲(chǔ)的數(shù)據(jù)
SMTP 簡(jiǎn)單郵件傳輸協(xié)議,是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來(lái)控制信件的中轉(zhuǎn)方式
SPI串行外部設(shè)備接口,實(shí)現(xiàn)芯片間的快速、同步、全雙工通信
Semaphore 信號(hào)量,提供了對(duì)臨界資源的控制機(jī)制,主要作為進(jìn)程之間及同一進(jìn)程不同線程之間的同步手段
Signal信號(hào),是運(yùn)載消息的工具,是消息的載體,用于通知接收進(jìn)程有某種事件發(fā)生 TCP/IP傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議,是Internet最基本的協(xié)議
TCP 傳輸控制協(xié)議,是一種面向連接(連接導(dǎo)向)的、可靠的、基于字節(jié)流的運(yùn)輸層通信協(xié)議
UART 通用串行數(shù)據(jù)總線,用于異步通信
UDP:UDP協(xié)議是一種無(wú)連接、不可靠的傳輸層協(xié)議。使用該協(xié)議只是把應(yīng)用程序傳來(lái)的數(shù)據(jù)加上UDP頭包括端口號(hào)、段長(zhǎng)等字段,作為UDP數(shù)據(jù)包發(fā)送出去,但是并不保證數(shù)據(jù)包能到達(dá)目的地,其可靠性由應(yīng)用層來(lái)提供。
Watchdog看門(mén)狗,一種專門(mén)用于監(jiān)測(cè)單片機(jī)程序運(yùn)行狀態(tài)的芯片Hard Real-Time硬實(shí)時(shí):通常將采用優(yōu)先級(jí)驅(qū)動(dòng)的、具有時(shí)間確定性的、可掄占調(diào)度的RTOS而設(shè)計(jì)的實(shí)時(shí)系統(tǒng)稱為硬實(shí)時(shí)系統(tǒng)。
軟實(shí)時(shí):軟實(shí)時(shí)系統(tǒng)并不要求限定某一任務(wù)必須在一定的時(shí)間內(nèi)完成,只要求各任務(wù)運(yùn)行得越快越好。
Priority-Driven優(yōu)先級(jí)驅(qū)動(dòng):在一個(gè)多任務(wù)系統(tǒng)中,正在運(yùn)行的任務(wù)總是優(yōu)先級(jí)最高的任務(wù)。在任何給定的時(shí)間內(nèi),總是把處理器分配給最高優(yōu)先級(jí)的任務(wù)。
Priority-Inversion優(yōu)先級(jí)反轉(zhuǎn):當(dāng)一個(gè)任務(wù)等待比它優(yōu)先級(jí)低的任務(wù)釋放資源而被阻塞時(shí),就會(huì)發(fā)生優(yōu)先級(jí)反轉(zhuǎn)。優(yōu)先級(jí)繼承技術(shù)可以解決優(yōu)先反轉(zhuǎn)問(wèn)題。
Priority-Inheritance優(yōu)先級(jí)繼承:當(dāng)優(yōu)先級(jí)反轉(zhuǎn)發(fā)生時(shí),較低優(yōu)先級(jí)任務(wù)的優(yōu)先級(jí)被暫時(shí)提高,以匹配較高優(yōu)先任務(wù)的優(yōu)先級(jí)。這樣,就可以使較低優(yōu)先級(jí)任務(wù)盡快地執(zhí)行、并且釋放較高優(yōu)先級(jí)所需要的資源。
Real TimeExecutive實(shí)時(shí)執(zhí)行體/Kernal內(nèi)核:實(shí)時(shí)執(zhí)行程序包括一套支持實(shí)時(shí)系統(tǒng)所必需的機(jī)制,如多任務(wù)支持、CPU調(diào)度、通信和存儲(chǔ)分配等。
Rescheduling Procedure重調(diào)度過(guò)程:重調(diào)度過(guò)程是一段系統(tǒng)程序,用于判定任務(wù)優(yōu)先級(jí)和任務(wù)的執(zhí)行狀態(tài)。一旦任務(wù)的狀態(tài)發(fā)生變化,就會(huì)引起切換
Task任務(wù):RTOS中的任務(wù)相當(dāng)于一般操作系統(tǒng)的進(jìn)程,一個(gè)任務(wù)就是RTOS的一個(gè)可以獨(dú)立運(yùn)行的例程。在程序設(shè)計(jì)時(shí),任務(wù)被設(shè)計(jì)成無(wú)限循環(huán)程序(過(guò)程)Task Context任務(wù)上下文:任務(wù)上下文是指一個(gè)未運(yùn)行的任務(wù)的狀態(tài)
Scheduling Latency 調(diào)度延遲,指一個(gè)事物從引起更高優(yōu)先級(jí)的任務(wù)就緒到該任務(wù)開(kāi)始運(yùn)行之間的時(shí)間 Scheduling Architecture可伸縮的體系結(jié)構(gòu):可伸縮的體系結(jié)構(gòu)是指一個(gè)軟系統(tǒng)能夠支持多種應(yīng)用而無(wú)需在接口上做很大的變動(dòng)。這種結(jié)構(gòu)往往提供可選用的系統(tǒng)組件,供開(kāi)發(fā)者量體裁衣。Inrerrupt Latency中斷延遲:中斷延遲是指中斷發(fā)生到開(kāi)始執(zhí)行中斷處理程序的這一段時(shí)間。
Mutual Exclusion互斥:互斥是用于控制多任務(wù)對(duì)共享數(shù)據(jù)進(jìn)行順序訪問(wèn)的同步機(jī)制。在多任務(wù)應(yīng)用中,當(dāng)兩個(gè)或更多的任務(wù)同時(shí)訪問(wèn)一數(shù)據(jù)區(qū)時(shí),就會(huì)造成訪問(wèn)沖突?;コ饽苁顾鼈円来卧L問(wèn)共享數(shù)據(jù)而不引起沖突。
Preemptive搶占:搶占是指當(dāng)系統(tǒng)在處于核心態(tài)的內(nèi)核運(yùn)行時(shí),允許任務(wù)重新調(diào)度。也就是說(shuō),一個(gè)正在執(zhí)行的任務(wù)可以被打斷而讓另外一個(gè)任務(wù)運(yùn)行,這提高了應(yīng)用對(duì)外部中斷的響應(yīng)性。許多RTOS都是以搶占方式運(yùn)行,但不是說(shuō)調(diào)度在任何時(shí)候都是可以發(fā)生的。例如,當(dāng)RTOS的一個(gè)任務(wù)正在通過(guò)系統(tǒng)調(diào)用訪問(wèn)共享數(shù)據(jù)時(shí),重新調(diào)度和中斷都是不允許的。RISC的基本設(shè)計(jì)思想是為了使計(jì)算機(jī)的結(jié)構(gòu)更簡(jiǎn)單,運(yùn)算速度更快,保留最基本的,去掉復(fù)雜、使用頻度不高的指令;采用Load/Store結(jié)構(gòu),以減少指令格式,統(tǒng)一存儲(chǔ)器訪問(wèn)方式;采用硬接線控制代替微程序控制
RISC體系結(jié)構(gòu)有如下特點(diǎn):a具有大量的寄存器,大多操作都在寄存器中完成;b尋址方式靈活簡(jiǎn)單,執(zhí)行效率高;c通過(guò)載入和存儲(chǔ)指令訪問(wèn)存儲(chǔ)器;d采用固定長(zhǎng)度的指令格式e所有的指令都可以條件執(zhí)行,以提高指令執(zhí)行效率;f同一條數(shù)據(jù)處理指令中包含算術(shù)邏輯單元處理和移位處理;g使用地址自動(dòng)增加(減少)來(lái)優(yōu)化程序中的循環(huán)處理;h載入和存儲(chǔ)指令可以批量傳輸數(shù)據(jù),從而提高數(shù)據(jù)傳輸效率。
立即尋址:操作數(shù)本身就在指令中給出,只要取出指令也就取到了操作數(shù),這個(gè)操作數(shù)被稱為立即數(shù)。
寄存器尋址:利用寄存器中的數(shù)值作為操作數(shù)。
寄存器間接尋址:以寄存器中的值作為操作數(shù)的地址,而操作數(shù)本身存放在存儲(chǔ)器。基址變址尋址:將寄存器(該寄存器一般稱做基址寄存器)的內(nèi)容與指令中給出的地址偏移量相加,從而得到一個(gè)操作數(shù)的有效地址。變址尋址方式常用于訪問(wèn)某基地址附近的地址單元。
多寄存器尋址:一條指令可以完成多個(gè)寄存器值的傳送。
相對(duì)尋址:以程序計(jì)數(shù)器PC的當(dāng)前值為基地址,指令中的地址標(biāo)量作為偏移量,將兩者相加后得到操作數(shù)的有效地址。
堆棧尋址:堆棧是一種數(shù)據(jù)結(jié)構(gòu),按先進(jìn)后出(FILO,F(xiàn)irst In Last Out)的方式工作,使用一個(gè)稱做堆棧指針的專用寄存器指示當(dāng)前的操作位置,堆棧指針總是只向棧頂。內(nèi)存管理:在LINUX內(nèi)核中,內(nèi)存管理子系統(tǒng)允許多個(gè)進(jìn)程安全地共享主內(nèi)存區(qū)域。邏輯上分為兩部分:硬件無(wú)關(guān):提供進(jìn)程的映射和虛擬內(nèi)存的對(duì)換。硬件相關(guān):為內(nèi)存管理硬件提供了虛擬接口。
虛擬文件系統(tǒng):在LINUX內(nèi)核中,VFS避開(kāi)了各種硬件的具體細(xì)節(jié),為所有硬件提供統(tǒng)一的接口。管理:(管道)管道就是一種把一個(gè)進(jìn)程的標(biāo)準(zhǔn)輸出與另一個(gè)進(jìn)程的標(biāo)準(zhǔn)輸入相連接的方法。報(bào)文隊(duì)列:是消息的鏈接表,包括POSIX消息隊(duì)列、System V消息隊(duì)列等。有足夠權(quán)限的進(jìn)程可以向隊(duì)列中添加消息,被賦予讀權(quán)限的進(jìn)程則可以讀取隊(duì)列中的消息。
共享存儲(chǔ)段:即允許一個(gè)或多個(gè)進(jìn)程通過(guò)在它們的虛地址空間中同時(shí)出現(xiàn)的存儲(chǔ)區(qū)進(jìn)行通信。
題外話:
這是我考試前兩天花了整整一天時(shí)間整理起來(lái)的,書(shū)我是沒(méi)去仔細(xì)看過(guò)。里面涉及的概念、釋義等等,都是我照著書(shū)上敲上去的。還有一些題目的話,有些是網(wǎng)上找到然后弄上去的。
名詞解釋是我書(shū)又重新一頁(yè)頁(yè)翻過(guò)去找的英文然后加上釋義,最后按照A、B、C...順序排下去。
說(shuō)說(shuō)考試,我這一屆大概是第一次考嵌入式,所以應(yīng)該是考的很簡(jiǎn)單。名詞解釋20分(等于送分),我這次是總線、DMA、GPIO什么的。反正是五個(gè),每個(gè)四分,英文的寫(xiě)出它中文釋義即可。然后簡(jiǎn)答題,60分。
最后兩個(gè)問(wèn)答題(只考一、二、六、九章節(jié))20分。其實(shí)考的也就是扯蛋,嵌入式系統(tǒng)的特點(diǎn)能扯掉3個(gè)題。
什么實(shí)時(shí)性,你盡量扯上去,什么發(fā)展趨勢(shì)啊,應(yīng)用啊,能鬼扯就扯,扯得差不多了就過(guò)了。
這次的嵌入式考試,真是慌死了。我他媽居然傻逼到鬼扯都忘了。
考試出來(lái),空了一大片,初步估計(jì)自己寫(xiě)了的能得的大概就40分左右。覺(jué)得完了,完了,這你媽最有把握的課要完了(畢竟這上面基本什么都有)。然后看著別人用著你整理一天的東西在那嘻嘻哈哈。還擺著一副“哈哈哈,你看看你你看看你”的表情。你就知道這種心情是多么他媽的操了。然后今天,成績(jī)出來(lái)了,奇跡的過(guò)了。
另外說(shuō)下,平時(shí)分是最后堂課老師說(shuō)三七還是四六。然后他們喊的四六。
不過(guò)我覺(jué)得我平時(shí)分不高的,點(diǎn)名總共才點(diǎn)了三次我被點(diǎn)到兩次。其實(shí)吧,課是無(wú)所謂,分還是有的。
大概平時(shí)都是80分左右的應(yīng)該,四六開(kāi)的話,換算下有32。期末只要拿46分左右也就OK了。像嵌入式特點(diǎn)鬼扯掉三題就是25分。名詞解釋20。不也就差不多了。最后,祝大家考試輕松過(guò)。
——By X.2013.01.21