



全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
嵌入式系統(tǒng)設(shè)計(jì)師考試筆記之嵌入式軟件程序設(shè)計(jì)一、嵌入式軟件開(kāi)發(fā)概述1.嵌入式應(yīng)用軟件開(kāi)發(fā)步驟:、硬件的設(shè)計(jì)與實(shí)現(xiàn);、設(shè)備驅(qū)動(dòng)軟件的設(shè)計(jì)與實(shí)現(xiàn);、嵌入式操作系統(tǒng)的選擇,移植,以及API接口函數(shù)的設(shè)計(jì);、支撐軟件的設(shè)計(jì)與調(diào)試;、應(yīng)用程序的設(shè)計(jì)與調(diào)試;、系統(tǒng)聯(lián)調(diào)、樣機(jī)交付。2、嵌入式軟件開(kāi)發(fā)的特點(diǎn):、需要交叉編譯工具;、通過(guò)仿真手段進(jìn)行調(diào)試;、開(kāi)發(fā)板是中間目標(biāo)機(jī);、可利用的資源有限;、需要與硬件打交道;3、嵌入式開(kāi)發(fā)遇到的問(wèn)題:、軟件硬協(xié)同設(shè)計(jì);嵌入式操作系統(tǒng);、代碼優(yōu)化;、有限的I/O資源;二、嵌入式程序設(shè)計(jì)語(yǔ)言1、程序設(shè)計(jì)語(yǔ)言概述機(jī)器語(yǔ)言:是與計(jì)算機(jī)硬件關(guān)系最為密切的計(jì)算機(jī)語(yǔ)言,在計(jì)算機(jī)硬件上執(zhí)行的就是一條條用機(jī)器語(yǔ)言來(lái)編寫(xiě)的指令;匯編語(yǔ)言:基本思路是用符號(hào)的形式來(lái)代替二進(jìn)行的指令。低級(jí)語(yǔ)言:通常將機(jī)器語(yǔ)言和匯編語(yǔ)言統(tǒng)稱(chēng)為低級(jí)語(yǔ)言。語(yǔ)言處理程序語(yǔ)言處理程序:擔(dān)任翻譯任務(wù)的程序稱(chēng)為語(yǔ)言處理程序。包括:匯編程序、解釋程序、編譯程序。源程序:用匯編語(yǔ)言或某程高級(jí)語(yǔ)言編寫(xiě)的程序。源程序不能直接在計(jì)算機(jī)上運(yùn)行。解釋程序:也稱(chēng)解釋器,它直接解釋執(zhí)行源程序、或?qū)⒃闯绦蚍g成某種中間表示形式后再執(zhí)行。編譯程序:是將源程序翻譯成目標(biāo)語(yǔ)言程序,然后在計(jì)算機(jī)上運(yùn)行。區(qū)別:在編譯方式下,機(jī)器上運(yùn)行的是與源程序等價(jià)的目標(biāo)程序,源程序和編譯程序都不再參與目標(biāo)程序的執(zhí)行;而在解釋方式下,解釋程序和源程序要參與程序的運(yùn)行過(guò)程中,運(yùn)行控制權(quán)在解釋程序。程序設(shè)計(jì)語(yǔ)言的定義包括:語(yǔ)法、語(yǔ)義、語(yǔ)用、語(yǔ)境。2、匯編語(yǔ)言、基本原理:為特定計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的面向機(jī)器的符號(hào)化程序設(shè)計(jì)語(yǔ)言。包括三類(lèi)語(yǔ)句:指令語(yǔ)句、偽指令語(yǔ)句、宏指令語(yǔ)句。指令語(yǔ)句:又稱(chēng)機(jī)器指令語(yǔ)句,將其匯編后能產(chǎn)生相應(yīng)的機(jī)器代碼,這些代碼能被CPU直接識(shí)別并執(zhí)行相應(yīng)的操作;偽指令語(yǔ)句:指示匯編程序在對(duì)源程序進(jìn)行匯編時(shí)完成某些工作。區(qū)別:偽指令在匯編后不產(chǎn)生機(jī)器代碼,而指令語(yǔ)句產(chǎn)生機(jī)器代碼。常用:定義偽指令 EQU;存儲(chǔ)定義偽指令 DCB;匯編控制偽指令 IF、ELSE、ENDIF,WHILE WEND;開(kāi)始偽指令 ENTRY;結(jié)束偽指令 END。宏指令:將多次重復(fù)使用的程序段定義為宏、ARM匯編語(yǔ)言格式:ARM語(yǔ)言以段為單位組織源文件。段是相對(duì)獨(dú)立的、具有特定名稱(chēng)的、不可分割的指令或數(shù)序列。段可以分為代碼段和數(shù)據(jù)段,代碼段存放執(zhí)行代碼、數(shù)據(jù)段存放代碼運(yùn)行時(shí)用到的數(shù)據(jù)。一個(gè)ARM源程序至少要一個(gè)代碼段。ARM匯編語(yǔ)言程序經(jīng)過(guò)匯編處理后生成一個(gè)可執(zhí)行的映像文件,包括:一個(gè)或多處代碼段,代碼段通常是只讀的;0個(gè)或多個(gè)包含初始值的數(shù)據(jù)段,通??勺x寫(xiě);0個(gè)或多處不含初始值的數(shù)據(jù)段,可讀寫(xiě);3、面向過(guò)程的語(yǔ)言定義:也叫命令式語(yǔ)言或強(qiáng)制式語(yǔ)言,通過(guò)一系列可執(zhí)行的運(yùn)算及運(yùn)算的先后次序來(lái)描述計(jì)算的過(guò)程。過(guò)程序式語(yǔ)言包括:數(shù)據(jù)、運(yùn)算、控制、函數(shù)。數(shù)據(jù)成分:是一種程序語(yǔ)言的數(shù)據(jù)類(lèi)型。數(shù)據(jù)屬性:包括名稱(chēng)、類(lèi)型、存儲(chǔ)類(lèi)別、作用域、生存周期。運(yùn)算成份:算術(shù)運(yùn)算、關(guān)系運(yùn)算、邏輯運(yùn)算??刂瞥煞荩喉樞?、選擇、重復(fù);函數(shù):是程序模塊的主要成份,它是一段具有獨(dú)立功能的程序,包括三個(gè)概念:函數(shù)定義,函數(shù)聲明、函數(shù)調(diào)用。一次函數(shù)調(diào)用的步驟:、在內(nèi)存的??臻g當(dāng)中為其分配一個(gè)棧幀,用來(lái)存放該函數(shù)的形參變量和局部變量;、把實(shí)參變量的值復(fù)制到相應(yīng)的形參變量中;、控制流轉(zhuǎn)移到該函數(shù)的起始位置;、該函數(shù)開(kāi)始執(zhí)行;、當(dāng)這個(gè)函數(shù)執(zhí)行完成后,控制流和返回值返回到函數(shù)調(diào)用點(diǎn)。4、面向?qū)ο蟮恼Z(yǔ)言面向?qū)ο?對(duì)象+分類(lèi)+繼承+通過(guò)消息的通信對(duì)象:是基本運(yùn)行時(shí)的實(shí)體,包括數(shù)據(jù)(屬性),數(shù)據(jù)操作的行為,所以一個(gè)對(duì)象將屬性和行為封裝成一個(gè)整體。由對(duì)象名、屬性、操作三個(gè)部分組成。方法:在對(duì)象內(nèi)的操作稱(chēng)為方法;消息:對(duì)象之間進(jìn)行通信的一種構(gòu)造;類(lèi):定義了一組大體上相似的對(duì)象,類(lèi)是在對(duì)象之上的抽象,對(duì)象是類(lèi)的具體化。繼承:父類(lèi)和子類(lèi)之間共享數(shù)據(jù)和方法的機(jī)制。多態(tài):不同的對(duì)象收到同一消息可以產(chǎn)生完成不同的結(jié)果,這一現(xiàn)象稱(chēng)為多態(tài)。動(dòng)態(tài)綁定:是一個(gè)把過(guò)程調(diào)用和響應(yīng)調(diào)用所需要執(zhí)行的代碼加以結(jié)全的過(guò)程。C+:一種面向?qū)ο蟮恼Z(yǔ)言,支持面向?qū)ο?,也支持面向過(guò)程。5、匯編、編譯、解譯程序的基本原理、匯編程序:是將匯編語(yǔ)言源程序翻譯成機(jī)器語(yǔ)言程序。匯編程序一般至少需要兩次掃描源程序才能完成翻譯過(guò)程:第一次主要工作是定義符號(hào)的值并創(chuàng)建一個(gè)符號(hào)表ST;第二次是掃描的任務(wù)產(chǎn)生目標(biāo)程序。、編譯程序:功能是把某些高級(jí)語(yǔ)言編寫(xiě)的源程序翻譯成與之等價(jià)的目標(biāo)語(yǔ)言程序。分成六個(gè)階段:詞法分析階段、語(yǔ)法分析階段、語(yǔ)議分析階段、中間代碼生成階段、代碼優(yōu)化階段、目標(biāo)代碼生成階段。、解釋程序:是另一種語(yǔ)言處理程序,在詞法、語(yǔ)法、語(yǔ)議分析方面與編譯程序,它直接執(zhí)行源程序或源程序的內(nèi)部形式。因此解釋程序不產(chǎn)生源程序的目標(biāo)程序,這是與編譯程序的主要區(qū)別。三、嵌入式軟件開(kāi)發(fā)環(huán)境宿主機(jī):是用于開(kāi)發(fā)嵌入式系統(tǒng)的計(jì)算機(jī),運(yùn)行的工具包括:文本編輯器、交叉調(diào)試器、集成環(huán)境以及各種分析工具。目標(biāo)機(jī)一般在嵌入式應(yīng)用軟件的開(kāi)發(fā)和調(diào)試期使用,它可以是嵌入式應(yīng)用軟件的實(shí)際運(yùn)行環(huán)境,也可以是能夠代替實(shí)際運(yùn)行環(huán)境的仿真系統(tǒng)。常用的調(diào)度方法:直接測(cè)試法、調(diào)試監(jiān)控器法、ROM仿真器法、在線仿真器法、片上調(diào)試法及模擬法。四、嵌入式軟件開(kāi)發(fā)1、嵌入式平臺(tái)選型嵌入式設(shè)計(jì)分三個(gè)階段:分析、設(shè)計(jì)和實(shí)現(xiàn)。分析階段:是確定要解決的問(wèn)題及需要完成的目標(biāo),也稱(chēng)需求階段;設(shè)計(jì)階段:主要是解決如何在給定的約束條件下完成用戶的需求;實(shí)現(xiàn)階段:主要是解決如何在所選擇的硬件和軟件的基礎(chǔ)上進(jìn)行整個(gè)軟硬件系統(tǒng)的協(xié)調(diào)和實(shí)現(xiàn)。硬件的選擇包括:處理器、硬件部件軟件的選擇包括:操作系統(tǒng)、編程語(yǔ)言、軟件開(kāi)發(fā)工具、硬件調(diào)試工具和軟件組件。2、軟件設(shè)計(jì)、軟件設(shè)計(jì)任務(wù):準(zhǔn)備一個(gè)工作計(jì)劃;確定軟件的結(jié)構(gòu);設(shè)計(jì)評(píng)審;維護(hù)工作計(jì)劃;與硬件部門(mén)密切合作、相互協(xié)調(diào);控制工作的結(jié)果、把工作記錄存檔。、模塊結(jié)構(gòu)設(shè)計(jì)模塊結(jié)構(gòu)設(shè)計(jì)的任務(wù):將系統(tǒng)劃分為模塊,確定軟件的結(jié)構(gòu),模塊的功能和模塊間的接口,以及全局?jǐn)?shù)據(jù)結(jié)構(gòu)設(shè)。模塊:是組成系統(tǒng)的基本單位,它的特點(diǎn)是可以組合、分解和更換。模塊的四要素:輸入和輸出;處理功能;內(nèi)部數(shù)據(jù);程序代碼。模塊結(jié)構(gòu)設(shè)計(jì)應(yīng)遵守的原則:所劃分的模塊其內(nèi)部凝聚性要強(qiáng),模塊之間的聯(lián)系要少,即要有很強(qiáng)的獨(dú)立性;模塊之間的連接只能存在上下級(jí)之間的調(diào)用關(guān)系,不能有同級(jí)之間的橫向關(guān)系;整個(gè)結(jié)構(gòu)呈樹(shù)狀結(jié)構(gòu),不允許網(wǎng)狀結(jié)構(gòu)或交叉調(diào)用關(guān)系;所有模塊必須嚴(yán)格地分類(lèi)編碼并建立歸檔文件。、結(jié)構(gòu)化設(shè)計(jì)的方法結(jié)構(gòu)化設(shè)計(jì)的方法是一種面向數(shù)據(jù)流的設(shè)計(jì)方法,基本思想是將系統(tǒng)設(shè)計(jì)成由相對(duì)獨(dú)立、功能單一的模塊組成的結(jié)構(gòu)。信息流的類(lèi)型:變換流和事務(wù)流。結(jié)構(gòu)化設(shè)計(jì)方法的步驟:復(fù)查并精化數(shù)據(jù)流圖;確定DFD的信息流類(lèi)型(變換型或事務(wù)型);根據(jù)流類(lèi)型分別實(shí)施變換分析或事務(wù)分析;根據(jù)系統(tǒng)設(shè)計(jì)的原則,對(duì)程序結(jié)構(gòu)圖進(jìn)行優(yōu)化。3、嵌入式程序設(shè)計(jì)、bootloader的設(shè)計(jì)步驟;stage1和stage2兩大部Stage1步驟:硬件設(shè)備初始化;為加載bootloader的stage1準(zhǔn)備內(nèi)存空間;復(fù)制bootloader的stage1到內(nèi)存;設(shè)置好堆棧;跳轉(zhuǎn)到stage1的C入口點(diǎn)。Stage2步驟:初始化本階段要使用的硬件設(shè)備;檢測(cè)系統(tǒng)內(nèi)存映射;將內(nèi)核映像和根文件系統(tǒng)映像到flash上讀入到內(nèi)存中;為內(nèi)核設(shè)置啟動(dòng)參數(shù),并調(diào)用內(nèi)核。、設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)、網(wǎng)絡(luò)應(yīng)用程序設(shè)計(jì)4、編碼四個(gè)步驟:確定源程序的標(biāo)準(zhǔn)格式、制定編程規(guī)范;準(zhǔn)備編程環(huán)境;編寫(xiě)代碼;進(jìn)行代碼審查,提高編碼質(zhì)量。5、測(cè)試、概述軟件測(cè)試:是從經(jīng)濟(jì)和效率的角度出發(fā),對(duì)軟件代碼進(jìn)行質(zhì)量和正確性保證的一個(gè)過(guò)程。系統(tǒng)測(cè)試的目的:是為了發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。規(guī)范化的測(cè)試過(guò)程:擬定測(cè)試計(jì)劃;編制測(cè)試大綱;根據(jù)測(cè)試大綱設(shè)計(jì)和生產(chǎn)測(cè)試用例;實(shí)施測(cè)試;生成測(cè)試報(bào)告。、測(cè)試方法分類(lèi):人工測(cè)試和機(jī)器測(cè)試人工測(cè)試的三種方法:個(gè)人復(fù)查、抽查、會(huì)審機(jī)器測(cè)試分成:黑盒測(cè)試和白盒測(cè)試黑盒測(cè)試:也稱(chēng)功能測(cè)試,將軟件看成黑盒子,在完成不考慮軟件內(nèi)部結(jié)構(gòu)和特性的情況下,測(cè)試軟件的外部特性。包括:極限情況測(cè)試;邊界測(cè)試;異常測(cè)試;隨機(jī)測(cè)試;性能測(cè)試。白盒測(cè)試:也稱(chēng)結(jié)構(gòu)測(cè)試,將軟件看成透明的的盒,根據(jù)程序的內(nèi)部結(jié)構(gòu)和邏輯來(lái)設(shè)計(jì)測(cè)試用例。原則:程序模塊中的所有獨(dú)立路徑至少執(zhí)行一次;在所有的邏輯判斷中,取“真”“假”的兩種情況至少都要執(zhí)行一次;每個(gè)循環(huán)都應(yīng)在邊界條件和一般條件下各執(zhí)行一次;測(cè)試程序內(nèi)部的數(shù)據(jù)結(jié)構(gòu)的有效性。、測(cè)試步驟:、系統(tǒng)平臺(tái)測(cè)試:包括硬件電路測(cè)試、操作系統(tǒng)及底層驅(qū)動(dòng)程序測(cè)試;、單元測(cè)試:也稱(chēng)模塊測(cè)試。一般采用白盒測(cè)試法。主要測(cè)試模擬塊接口、局部數(shù)據(jù)結(jié)構(gòu)、重要的執(zhí)行路徑、出錯(cuò)處理、邊界條件。測(cè)試時(shí)需要開(kāi)的模塊包括:驅(qū)動(dòng)模塊(相當(dāng)于一個(gè)程序,負(fù)責(zé)接收測(cè)試用例的數(shù)據(jù),將這些數(shù)據(jù)送到測(cè)試模塊,并輸出結(jié)果)和樁模塊(也稱(chēng)為存根模塊,用來(lái)代替測(cè)試模塊中所調(diào)用的子模塊,其內(nèi)可進(jìn)行少量的數(shù)據(jù)處理,目的是為了檢驗(yàn)入口,并輸出調(diào)用和返回的信息)、集成測(cè)試:也稱(chēng)組裝測(cè),就是把各個(gè)模塊按照系統(tǒng)設(shè)計(jì)說(shuō)明書(shū)的要求組合起來(lái)進(jìn)行測(cè)試。兩種方法:一種是分別測(cè)試各個(gè)模塊,再把這些模塊組合起來(lái)進(jìn)行整體測(cè)試,即非增量式集成;另一種是把下一個(gè)要測(cè)試的模塊組合到已測(cè)試好的模塊中,測(cè)試完成再將下一個(gè)模塊組合進(jìn)來(lái),進(jìn)行測(cè)試,這樣逐步把所有的模塊組合在一起,并完成測(cè)試,即增量式集成。、系統(tǒng)測(cè)試:將嵌入式軟件、硬件,外設(shè)和網(wǎng)絡(luò)等各種因素結(jié)全在一起,進(jìn)行整個(gè)系統(tǒng)的組裝測(cè)試和確認(rèn)測(cè)試。一般采用黑盒測(cè)試法。主要測(cè)試內(nèi)容:恢復(fù)測(cè)試、強(qiáng)度測(cè)試、性能測(cè)試、可靠性測(cè)試。、測(cè)試結(jié)果分析對(duì)測(cè)試結(jié)果分析和比較幫助錯(cuò)誤的定位,指導(dǎo)程序員修改代碼。、覆蓋測(cè)試:是一種白盒測(cè)試法,測(cè)試人員必須擁有程序的規(guī)格說(shuō)明書(shū)和程序清單。其基本思路是以程序的內(nèi)部結(jié)構(gòu)為基礎(chǔ)來(lái)設(shè)計(jì)測(cè)試用例,以覆蓋盡可能多的程序內(nèi)部邏輯結(jié)構(gòu),發(fā)現(xiàn)其中的錯(cuò)誤和問(wèn)題,一般用在單元測(cè)試階段。主要策略:語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋。5、下載運(yùn)行五、嵌入式軟件移植可分成有操作系統(tǒng)和無(wú)操作系統(tǒng)的移植。uC/OS-II操作系統(tǒng)代碼被分成三個(gè)部分:一是,與處理器無(wú)關(guān)的代碼,如任務(wù)管理、存儲(chǔ)管理、信號(hào)量等;二是,與系統(tǒng)配置有關(guān),應(yīng)用程序開(kāi)發(fā)人員可以通過(guò)修改這些配置
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年街道牌項(xiàng)目投資價(jià)值分析報(bào)告
- 血透瘺管護(hù)理常規(guī)培訓(xùn)
- 2025至2030年汽車(chē)機(jī)油泵綜合性能試驗(yàn)臺(tái)項(xiàng)目投資價(jià)值分析報(bào)告
- 門(mén)迎接待流程培訓(xùn)
- 2025至2030年姑嫂餅行業(yè)深度研究報(bào)告
- 2025至2030年可鎖定腳輪行業(yè)深度研究報(bào)告
- 2025至2030年北京紅星二鍋頭酒項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年全貼皮仿實(shí)木門(mén)行業(yè)深度研究報(bào)告
- 臨床護(hù)理服務(wù)流程試題及答案
- 2025至2030年中國(guó)有機(jī)硅硅橡膠項(xiàng)目投資可行性研究報(bào)告
- 中國(guó)理念的世界意義智慧樹(shù)知到答案章節(jié)測(cè)試2023年?yáng)|北師范大學(xué)
- 隧道地表注漿施工技術(shù)交底
- GB/T 8905-2012六氟化硫電氣設(shè)備中氣體管理和檢測(cè)導(dǎo)則
- GB/T 39430-2020高可靠性齒輪毛坯技術(shù)要求
- GB/T 20473-2006建筑保溫砂漿
- GB 4789.3-2016食品安全國(guó)家標(biāo)準(zhǔn)食品微生物學(xué)檢驗(yàn)大腸菌群計(jì)數(shù)
- 山西臨汾市人民醫(yī)院招考聘用39人【共500題含答案解析】模擬檢測(cè)試卷
- 化學(xué)反應(yīng)的限度和化學(xué)反應(yīng)條件的控制 課件
- FZ/T 62033-2016超細(xì)纖維毛巾
- 馬克思個(gè)人介紹
- 2022年成都市武侯區(qū)社區(qū)工作者招聘考試筆試試題及答案解析
評(píng)論
0/150
提交評(píng)論