4.嵌入式系統(tǒng)的開(kāi)發(fā)_第1頁(yè)
4.嵌入式系統(tǒng)的開(kāi)發(fā)_第2頁(yè)
4.嵌入式系統(tǒng)的開(kāi)發(fā)_第3頁(yè)
4.嵌入式系統(tǒng)的開(kāi)發(fā)_第4頁(yè)
4.嵌入式系統(tǒng)的開(kāi)發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

4.嵌入式系統(tǒng)的開(kāi)發(fā)嵌入式理論課程PPT第2章嵌入式系統(tǒng)的開(kāi)發(fā)過(guò)程嵌入式理論課程PPT一嵌入式軟件開(kāi)發(fā)的特點(diǎn)嵌入式系統(tǒng)與通用計(jì)算機(jī)在以下幾個(gè)方面的差別比較明顯:(1)人機(jī)交互界面。嵌入式系統(tǒng)和通用計(jì)算機(jī)之間的最大區(qū)別在與人機(jī)交互界面。嵌入式系統(tǒng)可能根本就不存在鍵盤、顯示器等設(shè)備,它所完成的事情也可能只是絡(luò)情況或者傳感器的變化情況,并按照事先規(guī)定好的過(guò)程及時(shí)完成相應(yīng)的處理任務(wù)。(2)有限的功能。嵌入式系統(tǒng)的功能在設(shè)計(jì)時(shí)已經(jīng)定制好,在開(kāi)發(fā)完成投入使用之后就不再變化,系統(tǒng)將反復(fù)執(zhí)行這些預(yù)定好的任務(wù),而不象通用計(jì)算機(jī)那樣隨時(shí)可以運(yùn)行新任務(wù)。當(dāng)然,使用嵌入式操作系統(tǒng)的嵌入式系統(tǒng)可以添加新的任務(wù),刪除舊的任務(wù);但這樣的變化對(duì)嵌入式系統(tǒng)而言是關(guān)鍵性的變化,有可能會(huì)對(duì)整個(gè)系統(tǒng)產(chǎn)生影響。(3)時(shí)間關(guān)鍵性和穩(wěn)定性。嵌入式系統(tǒng)可能要求實(shí)時(shí)響應(yīng),具有嚴(yán)格的時(shí)序性。同時(shí),嵌入式系統(tǒng)還要求有非??煽康姆€(wěn)定性。其工作環(huán)境可能非常惡劣,如高溫、高壓、低溫、潮濕等。這就要求在設(shè)計(jì)時(shí)考慮目標(biāo)系統(tǒng)的工作環(huán)境,合理選擇硬件和保護(hù)措施。軟件穩(wěn)定也是一個(gè)重要特征。軟件系統(tǒng)需要經(jīng)過(guò)無(wú)數(shù)次反復(fù)測(cè)試,達(dá)到預(yù)先規(guī)定的要求才能真正投入使用。嵌入式理論課程PPT嵌入式軟件開(kāi)發(fā)與傳統(tǒng)軟件開(kāi)發(fā)有許多共同特點(diǎn),但它又有它自身的特點(diǎn):(1)需要交叉開(kāi)發(fā)環(huán)境。嵌入式應(yīng)用軟件開(kāi)發(fā)要使用交叉開(kāi)發(fā)環(huán)境。交叉開(kāi)發(fā)環(huán)境是指實(shí)現(xiàn)編譯、鏈接和調(diào)試應(yīng)用程序代碼的環(huán)境。與應(yīng)用程序環(huán)境不同,它分布在有通信鏈接的宿主機(jī)和目標(biāo)機(jī)環(huán)境之中。宿主機(jī)(Host)是一臺(tái)通用計(jì)算機(jī),一般是PC機(jī)。它通過(guò)串口或網(wǎng)絡(luò)連接與目標(biāo)機(jī)通信。目標(biāo)機(jī)(Target)常在嵌入式軟件開(kāi)發(fā)期間使用,用來(lái)區(qū)(Target)別與嵌入式系統(tǒng)通信的宿主機(jī)。目標(biāo)機(jī)應(yīng)用軟件需要綁定操作系統(tǒng)一起運(yùn)行。交叉軟件包括交叉編譯器、交叉調(diào)試器和模擬軟件等。交叉編譯器允許應(yīng)用程序開(kāi)發(fā)者在俗主機(jī)上生成能在目標(biāo)機(jī)上運(yùn)行的代碼。交叉調(diào)試器和模擬調(diào)試軟件用于完成俗主機(jī)與目標(biāo)機(jī)應(yīng)用程序代碼的調(diào)試。嵌入式理論課程PPT(2)引入任務(wù)設(shè)計(jì)方法。嵌入式應(yīng)用系統(tǒng)以任務(wù)為基本單元。在系統(tǒng)設(shè)計(jì)階段,用多個(gè)并發(fā)的任務(wù)代替通用軟件的多個(gè)模塊,并定義了應(yīng)用軟件任務(wù)間的接口。嵌入式系統(tǒng)的設(shè)計(jì)通常采用DARTS(DesignandAnalysisofReal-TimeSystems)設(shè)計(jì)方法進(jìn)行任務(wù)的設(shè)計(jì)。DARTS給出了系統(tǒng)任務(wù)劃分的方法和定義任務(wù)間接口的機(jī)制。(3)需要固化程序。通用軟件的開(kāi)發(fā)在測(cè)試完成以后就可以直接投入運(yùn)行。其目標(biāo)環(huán)境一般是PC機(jī),在總體結(jié)構(gòu)上與開(kāi)發(fā)環(huán)境差別不大。而嵌入式應(yīng)用程序開(kāi)發(fā)環(huán)境是PC機(jī),但運(yùn)行的目標(biāo)環(huán)境卻千差萬(wàn)別U,可以是PDA,也可以是儀器設(shè)備。而且應(yīng)用軟件在目標(biāo)環(huán)境下必須存儲(chǔ)在非易失性存儲(chǔ)器中,保證用戶用完關(guān)機(jī)后確保得到保證下次的使用。所以應(yīng)用軟件在開(kāi)發(fā)完成以后,應(yīng)生成固化版本,燒寫到目標(biāo)環(huán)境的Flash中運(yùn)行。⑷軟件開(kāi)發(fā)難度大。絕大多數(shù)的嵌入式應(yīng)用有實(shí)時(shí)性的要求,特別在硬實(shí)時(shí)系統(tǒng)中,實(shí)時(shí)性至關(guān)重要。這些實(shí)時(shí)性在開(kāi)發(fā)的應(yīng)用軟件中得到保證,這就要求設(shè)計(jì)者在軟件的需求分析中充分考慮系統(tǒng)的實(shí)時(shí)性。這些實(shí)時(shí)性的體現(xiàn)一部分來(lái)源于實(shí)時(shí)操作系統(tǒng)的實(shí)時(shí)性,另一部分依賴于應(yīng)用軟件的本身的設(shè)計(jì)和代碼的質(zhì)量。同時(shí),嵌入式應(yīng)用軟件對(duì)穩(wěn)定性、可靠性、抗干擾性等性能的要求都比通用軟件的要求更為嚴(yán)格和苛刻。因此,嵌入式軟件開(kāi)發(fā)的難度加大。嵌入式理論課程PPT嵌入式開(kāi)發(fā)還需要提供強(qiáng)大的硬件開(kāi)發(fā)工具和軟件包支持,需要開(kāi)發(fā)者從速度、功能和成本綜合考慮,由此看來(lái)有以下幾點(diǎn):a、硬件功能強(qiáng)。更強(qiáng)大的嵌入式處理器(如32為RISC芯片或信號(hào)處理器DSP)增強(qiáng)了處理能力,加強(qiáng)了對(duì)多媒體、圖形等的處理。同時(shí)增加功能接口,如USB等。b、工具完備。見(jiàn)P37。c、通信接口。要求硬件上提供各種網(wǎng)絡(luò)通信接口。新一代的嵌入式處理器已經(jīng)開(kāi)始內(nèi)嵌網(wǎng)絡(luò)接口,除了支持TCP/IP協(xié)議,有的還支持__4、USB、Bluetooth或IrDA通信接口中的一種或幾種;軟件方面系統(tǒng)內(nèi)核支持網(wǎng)絡(luò)模塊,甚至可以把設(shè)備做成嵌入式Web服務(wù)器或嵌入式瀏覽器。d、精簡(jiǎn)系統(tǒng)內(nèi)核以降低功耗和成本。未來(lái)的嵌入式產(chǎn)品是軟硬件緊密結(jié)合的設(shè)備,為了降低功耗和成本,需要設(shè)計(jì)者盡量精簡(jiǎn)系統(tǒng)內(nèi)核,利用最低的資源實(shí)現(xiàn)最適當(dāng)?shù)墓δ?。e、提供友好的多媒體人機(jī)界面。嵌入式設(shè)備與用戶交互,最重要的因素就是它能提供非常友好的用戶界面。手寫文字輸入、彩色圖形和圖象都會(huì)使用戶獲得操作自如的感受。嵌入式理論課程PPT2.2嵌入式軟件的開(kāi)發(fā)流程嵌入式軟件的開(kāi)發(fā)流程與通用軟件的開(kāi)發(fā)流程大同小異,但開(kāi)發(fā)所使用的設(shè)計(jì)方法有一定的差異。整個(gè)開(kāi)發(fā)流程可分為需求分析階段、設(shè)計(jì)階段、生成代碼階段和固化階段。開(kāi)發(fā)的每個(gè)階段都體現(xiàn)著嵌入式開(kāi)發(fā)的特點(diǎn)。需求分析階段嵌入式系統(tǒng)的特點(diǎn)決定了在開(kāi)發(fā)初期的需求分析過(guò)程中就要搞清需要完成的任務(wù)。在需求分析階段需要分析客戶的需求,并將需求分類整理包括功能需求、操作界面需求和應(yīng)用環(huán)境需求等。嵌入式系統(tǒng)應(yīng)用需求中最為突出的是注重應(yīng)用的實(shí)效性,競(jìng)爭(zhēng)中Timeto-Market最短的企業(yè)最容易贏得市場(chǎng)。嵌入式開(kāi)發(fā)的需求分析階段與一般軟件開(kāi)發(fā)的需求分析階段差異不大,包括以下3個(gè)方面。a、對(duì)問(wèn)題的識(shí)別和分析。見(jiàn)P38。b、制定規(guī)格說(shuō)明文檔。經(jīng)過(guò)對(duì)問(wèn)題的識(shí)別,產(chǎn)生了系統(tǒng)各方面的需求。通過(guò)對(duì)規(guī)格的說(shuō)明,文檔得以清晰、準(zhǔn)確的描述。這些說(shuō)明文檔包括需求規(guī)格說(shuō)明書和初級(jí)的用戶手冊(cè)等。c、需求評(píng)審。需求評(píng)審作為系統(tǒng)進(jìn)入下一階段前最后的需求分析復(fù)查手段,在需求分析的最后階段對(duì)各項(xiàng)需求進(jìn)行評(píng)估,以保證軟件需求的質(zhì)量。嵌入式理論課程PPT2設(shè)計(jì)階段需求分析完成后,需求分析員提交規(guī)格說(shuō)明文檔,進(jìn)入系統(tǒng)設(shè)計(jì)階段。系統(tǒng)的設(shè)計(jì)階段包括系統(tǒng)設(shè)計(jì)、任務(wù)設(shè)計(jì)和任務(wù)的詳細(xì)設(shè)計(jì)。通用軟件開(kāi)發(fā)的設(shè)計(jì)常采用將系統(tǒng)分為各個(gè)功能子模塊,在進(jìn)一步細(xì)分為函數(shù),采用自頂向下的設(shè)計(jì)方法。而嵌入式應(yīng)用軟件是通過(guò)并發(fā)的任務(wù)來(lái)運(yùn)作的,應(yīng)用軟件開(kāi)發(fā)的系統(tǒng)設(shè)計(jì)將系統(tǒng)劃分為多個(gè)并發(fā)執(zhí)行的任務(wù),各個(gè)任務(wù)允許并發(fā)執(zhí)行,通過(guò)相互間通信建立聯(lián)系。傳統(tǒng)的設(shè)計(jì)方法不適應(yīng)這種并發(fā)的設(shè)計(jì)模式,因而在嵌入式軟件開(kāi)發(fā)中引入DARTS的設(shè)計(jì)方法。DARTS設(shè)計(jì)方法是結(jié)構(gòu)化分析/結(jié)構(gòu)化設(shè)計(jì)的擴(kuò)展。它給出劃分任務(wù)的方法,并提供定義任務(wù)間接口的機(jī)制。DARTS設(shè)計(jì)方法的設(shè)計(jì)步驟如下:a、數(shù)據(jù)流分析在DARTS設(shè)計(jì)方法中,系統(tǒng)設(shè)計(jì)人員在系統(tǒng)需求基礎(chǔ)上,以數(shù)據(jù)流圖作為分析工具,從系統(tǒng)的功能需求開(kāi)始分析系統(tǒng)的數(shù)據(jù)流,以確定主要的功能。擴(kuò)展系統(tǒng)的數(shù)據(jù)流圖,分解系統(tǒng)到足夠的深度,以識(shí)別主要子系統(tǒng)和各個(gè)子系統(tǒng)的主要部分。嵌入式理論課程PPTb、劃分任務(wù)系統(tǒng)設(shè)計(jì)人員把可并行、相對(duì)獨(dú)立的功能單元抽象成一個(gè)系統(tǒng)任務(wù)。實(shí)時(shí)軟件系統(tǒng)中并行任務(wù)的分解主要考慮系統(tǒng)內(nèi)部功能的異步性。根據(jù)數(shù)據(jù)流圖中的變換,分析出哪些變換是可以并行的,哪些變換是順序執(zhí)行的。系統(tǒng)設(shè)計(jì)人員可以考慮一個(gè)變換對(duì)應(yīng)一個(gè)任務(wù),或者一個(gè)任務(wù)包括多個(gè)變換。其判定的原則取決于以下因素:①I/O依賴性:如果變換依賴于I/O應(yīng)選擇一個(gè)變換對(duì)應(yīng)一個(gè)任務(wù)。②時(shí)間關(guān)鍵性的功能:具有時(shí)間關(guān)鍵性的功能應(yīng)分離出來(lái),成為一個(gè)獨(dú)立的任務(wù),并且賦予這些任務(wù)較高的優(yōu)先級(jí),以滿足系統(tǒng)對(duì)時(shí)間的要求。③計(jì)算量大的功能:計(jì)算量大的功能在運(yùn)行時(shí)勢(shì)必會(huì)占用CPU很多時(shí)間,應(yīng)當(dāng)讓他們單獨(dú)成為一個(gè)任務(wù)。④功能內(nèi)聚:系統(tǒng)中各緊密相關(guān)的功能,不適合劃分為獨(dú)立的任務(wù),應(yīng)該把這些邏輯上或數(shù)據(jù)上緊密相關(guān)的功能合成一個(gè)任務(wù),使各個(gè)功能共享資源或相同事件的驅(qū)動(dòng)。將緊密相關(guān)的功能合成一個(gè)任務(wù)不僅可以減少任務(wù)間通信的開(kāi)銷,而且也降低了系統(tǒng)設(shè)計(jì)的難度。⑤時(shí)間內(nèi)聚:將系統(tǒng)中在同一時(shí)間內(nèi)能夠完成的各個(gè)功能合成一個(gè)任務(wù),以便在同一時(shí)間統(tǒng)一運(yùn)行。⑥周期執(zhí)行的功能:將在相同周期內(nèi)執(zhí)行的各個(gè)功能組成一個(gè)任務(wù),使運(yùn)行頻率越高的任務(wù)賦予越高的優(yōu)先級(jí)。嵌入式理論課程PPTc、定義任務(wù)間的接口任務(wù)劃分完成以后,下一步就要定義各個(gè)任務(wù)的接口。在數(shù)據(jù)流圖中接口以數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)區(qū)的形式存在,抽象化數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)區(qū)成為任務(wù)的接口。在DARTS設(shè)計(jì)方法中,有兩類任務(wù)接口模塊:任務(wù)通信模塊和任務(wù)同步模塊,分別處理任務(wù)間的通信和任務(wù)間的同步。有了劃分好的任務(wù)以及定義好的任務(wù)間的接口后,接下來(lái)就可以開(kāi)始任務(wù)的詳細(xì)設(shè)計(jì),任務(wù)詳細(xì)設(shè)計(jì)的主要工作是確定每個(gè)任務(wù)的結(jié)構(gòu)。畫出每個(gè)任務(wù)的數(shù)據(jù)流圖,使用結(jié)構(gòu)化設(shè)計(jì)方法,從數(shù)據(jù)流圖導(dǎo)出任務(wù)的模塊結(jié)構(gòu)圖,并定義各模塊的接口。之后,進(jìn)行每個(gè)模塊的詳細(xì)設(shè)計(jì),給出每個(gè)模塊的程序流程圖。嵌入式理論課程PPT3生成代碼階段生成代碼階段需要完成的工作包括代碼編程、交叉編譯和鏈接、交叉調(diào)試和測(cè)試等。a、代碼編程編程工作是每個(gè)模塊的詳細(xì)設(shè)計(jì)文檔基礎(chǔ)上進(jìn)行的。規(guī)范化的詳細(xì)設(shè)計(jì)文檔能縮短編程時(shí)間。由于嵌入式系統(tǒng)是一個(gè)受資源限制的系統(tǒng),故而直接在嵌入式系統(tǒng)硬件上進(jìn)行編程顯然是不合理的。在嵌入式系統(tǒng)開(kāi)發(fā)過(guò)程中,一般采用的方法是先在PC上編程;然后通過(guò)交叉編譯、鏈接,將程序做成目標(biāo)平臺(tái)上可以運(yùn)行的二進(jìn)制代碼格式;最后將程序下載到目標(biāo)平臺(tái)上的特定位置,在目標(biāo)板上啟動(dòng)運(yùn)行這段二進(jìn)制代碼。嵌入式理論課程PPTb、交叉編譯和鏈接嵌入式軟件開(kāi)發(fā)編譯完成后,要進(jìn)行編譯和鏈接以生成可執(zhí)行代碼。但是,在開(kāi)發(fā)過(guò)程中,設(shè)計(jì)人員普遍使用Intel公司的x86系列CPU的計(jì)算機(jī)進(jìn)行開(kāi)發(fā);而目標(biāo)環(huán)境的處理芯片確是多種多樣的,如ARM、DSP、PowerPC、DragonBall系列等。這就要求開(kāi)發(fā)機(jī)的編譯器能支持交叉編譯。嵌入式C編譯器是有別于一般計(jì)算機(jī)中的C語(yǔ)言編譯器的.嵌入式系統(tǒng)中使用的C語(yǔ)言編譯器需要專門進(jìn)行代碼化以產(chǎn)生更加優(yōu)質(zhì)、高校的代碼。優(yōu)秀的嵌入式C編譯器產(chǎn)生代碼長(zhǎng)度及運(yùn)行時(shí)間僅比以匯編語(yǔ)言編寫的同樣功能程序長(zhǎng)5%--20%。這微弱的差別完全可以有現(xiàn)代處理器的高速度、存儲(chǔ)器容量大以及產(chǎn)品提前占領(lǐng)市場(chǎng)的優(yōu)勢(shì)來(lái)加以彌補(bǔ);編譯產(chǎn)生代碼質(zhì)量的差異,是衡量嵌入式C編譯器工具優(yōu)劣的重要指標(biāo)。嵌入式理論課程PPTc、交叉調(diào)試調(diào)試是開(kāi)發(fā)過(guò)程中必不可少的環(huán)節(jié)。嵌入式開(kāi)發(fā)軟件的交叉編譯不同于通用軟件的調(diào)試方法。在通用軟件開(kāi)發(fā)中,調(diào)試器與被調(diào)試的程序往往運(yùn)行在同一機(jī)器上,作為操作系統(tǒng)上的兩個(gè)進(jìn)程,通過(guò)操作系統(tǒng)提供的調(diào)試接口控制被調(diào)試進(jìn)程。嵌入式軟件開(kāi)發(fā)需要交叉開(kāi)發(fā)環(huán)境,調(diào)試采用的是包含目標(biāo)機(jī)和宿主機(jī)的交叉調(diào)試方法。調(diào)試器還是運(yùn)行在宿主機(jī)的通用操作系統(tǒng)上,而被調(diào)試的程序則運(yùn)行在基于特定硬件平臺(tái)的嵌入式操作系統(tǒng)上。調(diào)試器與被調(diào)試程序間可以進(jìn)行通信,調(diào)試器可以控制、訪問(wèn)被調(diào)試程序,讀取被調(diào)試程序的當(dāng)前狀態(tài)和改變被調(diào)試程序的運(yùn)行狀態(tài)。交叉調(diào)試器用于對(duì)嵌入式軟件進(jìn)行調(diào)試和測(cè)試。嵌入式系統(tǒng)的交叉調(diào)試器在宿主機(jī)上運(yùn)行,并且通過(guò)串口或網(wǎng)絡(luò)連接到目標(biāo)機(jī)上。嵌入式理論課程PPT嵌入式軟件的編寫和開(kāi)發(fā)調(diào)試主要流程為:代碼編寫交叉編譯交叉鏈接重定位和下載調(diào)試,如圖所示。代碼編程C/匯編源程序交叉編譯Obj文件交叉函數(shù)庫(kù)交叉鏈接系統(tǒng)映像文件重定位和下載交叉調(diào)試目標(biāo)機(jī)嵌入式理論課程PPT交叉調(diào)試具有以下特點(diǎn):*調(diào)試器和被調(diào)試的程序運(yùn)行在不同的機(jī)器上。調(diào)試器運(yùn)行在PC或工作站上,而被調(diào)試程序運(yùn)行在各式的專用目標(biāo)機(jī)上。*調(diào)試器通過(guò)各種通信方式與目標(biāo)機(jī)建立聯(lián)系,如串口、并口、網(wǎng)絡(luò)、JTAG或者專用的通信方式。*在目標(biāo)機(jī)上一般具有某種調(diào)試代理,這種代理能與調(diào)試器一起配合完成對(duì)目標(biāo)機(jī)上運(yùn)行的程序的調(diào)試。這種代理可以是某種能支持調(diào)試的硬件,也可以是某種軟件。*目標(biāo)機(jī)可以是一種仿真機(jī)。通過(guò)在宿主機(jī)上運(yùn)行目標(biāo)機(jī)的仿真軟件來(lái)仿真一臺(tái)目標(biāo)機(jī),使整個(gè)調(diào)試工作只在一臺(tái)計(jì)算機(jī)上進(jìn)行。嵌入式理論課程PPT整個(gè)嵌入式系統(tǒng)軟件的開(kāi)發(fā)一般在集成開(kāi)發(fā)環(huán)境下完成。嵌入式系統(tǒng)的開(kāi)發(fā)工作幾乎使跨平臺(tái)交叉開(kāi)發(fā),多數(shù)代碼直接控制硬件設(shè)備,硬件依賴性強(qiáng),對(duì)時(shí)序的要求十分苛刻,很多情況下的運(yùn)行狀態(tài)都具有不可再現(xiàn)性。嵌入式集成開(kāi)發(fā)環(huán)境關(guān)鍵技術(shù)包括項(xiàng)目建立和管理工具、源代碼級(jí)調(diào)試技術(shù)、系統(tǒng)狀態(tài)分析技術(shù)、代碼性能優(yōu)化技術(shù)、運(yùn)行態(tài)故障監(jiān)測(cè)技術(shù)、圖形化瀏覽工具、代碼編輯輔助工具以及版本控制工具等。嵌入式集成開(kāi)發(fā)環(huán)境包括可裁減的實(shí)時(shí)操作系統(tǒng),宿主機(jī)上的編譯、調(diào)試、查看等工具,以及利用串口、網(wǎng)絡(luò)ICE等宿主機(jī)與目標(biāo)機(jī)的連接工具。(4)測(cè)試嵌入式系統(tǒng)開(kāi)發(fā)的測(cè)試與通用軟件的測(cè)試相似,分成單元測(cè)試和系統(tǒng)集成測(cè)試。嵌入式理論課程PPT4.固化階段嵌入式應(yīng)用軟件調(diào)試完成以后,編譯器要對(duì)源代碼重新編譯一次,以產(chǎn)生固化到目標(biāo)環(huán)境的可執(zhí)行代碼,在燒寫到目標(biāo)環(huán)境的Flash中。固化的可執(zhí)行代碼與用于調(diào)試的可執(zhí)行代碼有一些不同。固化用的代碼在目標(biāo)文件中把調(diào)試用的信息都屏蔽掉了。固化后沒(méi)有監(jiān)控器執(zhí)行硬件的啟動(dòng)和初始化。啟動(dòng)模塊和固化代碼都定位到目標(biāo)環(huán)境的Flash中,有別于調(diào)試過(guò)程中都在目標(biāo)機(jī)的RAM中運(yùn)行??蓤?zhí)行代碼燒寫到目標(biāo)環(huán)境中固化后,還要進(jìn)行運(yùn)行測(cè)試,以保證程序的準(zhǔn)確無(wú)誤。固化測(cè)試完成后,整個(gè)嵌入式應(yīng)用軟件的開(kāi)發(fā)就基本完成了,剩下的就是對(duì)產(chǎn)品的維護(hù)和更新了。嵌入式理論課程PPT5.嵌入式軟件開(kāi)發(fā)的要點(diǎn)嵌入式軟件高度依賴目標(biāo)應(yīng)用的軟硬件環(huán)境,軟件的部分任務(wù)功能函數(shù)由匯編語(yǔ)言完成,具有高度的不可移植性。但這并不是說(shuō)嵌入式軟件的開(kāi)發(fā)不需要關(guān)注可移植性。提高應(yīng)用軟件的可移植性方法如下:1盡量使用高級(jí)語(yǔ)言開(kāi)發(fā),少用匯編語(yǔ)言。2局域化不可移植部分,要提高代碼的可移植性,可以把不可移植的代碼和匯編代碼通過(guò)宏定義和函數(shù)的形式,分類集中在某幾個(gè)特定的文件中。程序中對(duì)不可移植代碼的使用轉(zhuǎn)換成函數(shù)和宏定義的使用,在以后的的移植過(guò)程中,既有利于迅速地對(duì)要修改地代碼進(jìn)行定位,又可以方便地進(jìn)行修改,最后檢查這個(gè)代碼中修改的函數(shù)和宏對(duì)前后代碼是否有影響,從而大大提高移植的效率。3提高軟件的可重用性。嵌入式理論課程PPT2.3嵌入式系統(tǒng)的調(diào)試調(diào)試方式有

溫馨提示

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

評(píng)論

0/150

提交評(píng)論