<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式系統(tǒng)基礎(chǔ)之:嵌入式軟件開發(fā)流程

          嵌入式系統(tǒng)基礎(chǔ)之:嵌入式軟件開發(fā)流程

          作者: 時(shí)間:2013-09-13 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/257144.htm

          4.3開發(fā)流程

          4.3.1開發(fā)概述

          本身的特性所影響,開發(fā)與通用系統(tǒng)的開發(fā)有很大的區(qū)別。嵌入式系統(tǒng)的開發(fā)主要分為系統(tǒng)總體開發(fā)、嵌入式硬件開發(fā)和開發(fā)3大部分,其總體流程圖如圖4.15所示。

          在系統(tǒng)總體開發(fā)中,由于嵌入式系統(tǒng)與硬件依賴非常緊密,往往某些需求只能通過特定的硬件才能實(shí)現(xiàn),因此需要進(jìn)行處理器選型,以更好地滿足產(chǎn)品的需求。另外,對(duì)于有些硬件和軟件都可以實(shí)現(xiàn)的功能,就需要在成本和性能上做出抉擇。往往通過硬件實(shí)現(xiàn)會(huì)增加產(chǎn)品的成品,但能大大提高產(chǎn)品的性能和可靠性。

          再次,開發(fā)環(huán)境的選擇對(duì)于嵌入式系統(tǒng)的開發(fā)也有很大的影響。這里的開發(fā)環(huán)境包括嵌入式操作系統(tǒng)的選擇以及開發(fā)工具的選擇等。本書在4.1.5節(jié)對(duì)各種不同的嵌入式操作系統(tǒng)進(jìn)行了比較,讀者可以以此為依據(jù)進(jìn)行相關(guān)的選擇。比如,對(duì)開發(fā)成本和進(jìn)度限制較大的產(chǎn)品可以選擇嵌入式Linux,對(duì)實(shí)時(shí)性要求非常高的產(chǎn)品可以選擇Vxworks等。

          由于本書主要討論的應(yīng)用開發(fā),因此對(duì)硬件開發(fā)不做詳細(xì)講解,而主要討論嵌入式軟件開發(fā)的流程。

          4.3.2嵌入式軟件開發(fā)概述

          嵌入式軟件開發(fā)總體流程為圖4.15中“軟件設(shè)計(jì)實(shí)現(xiàn)”部分所示,它同通用計(jì)算機(jī)軟件開發(fā)一樣,分為需求分析、軟件概要設(shè)計(jì)、軟件詳細(xì)設(shè)計(jì)、軟件實(shí)現(xiàn)和軟件測(cè)試。其中嵌入式軟件需求分析與硬件的需求分析合二為一,故沒有分開畫出。

          由于在嵌入式軟件開發(fā)的工具非常多,為了更好地幫助讀者選擇開發(fā)工具,下面首先對(duì)嵌入式軟件開發(fā)過程中所使用的工具做一簡(jiǎn)單歸納。

          嵌入式軟件的開發(fā)工具根據(jù)不同的開發(fā)過程而劃分,比如在需求分析階段,可以選擇IBM的RationalRose等軟件,而在程序開發(fā)階段可以采用CodeWarrior(下面要介紹的ADS的一個(gè)工具)等,在調(diào)試階段所用的Multi-ICE等。同時(shí),不同的嵌入式操作系統(tǒng)往往會(huì)有配套的開發(fā)工具,比如Vxworks有集成開發(fā)環(huán)境Tornado,WindowsCE的集成開發(fā)環(huán)境WindowsCEPlatform等。此外,不同的處理器可能還有對(duì)應(yīng)的開發(fā)工具,比如ARM的常用集成開發(fā)工具ADS、IAR和RealView等。在這里,大多數(shù)軟件都有比較高的使用費(fèi)用,但也可以大大加快產(chǎn)品的開發(fā)進(jìn)度,用戶可以根據(jù)需求自行選擇。圖4.16是嵌入式開發(fā)的不同階段的常用軟件。

          圖4.15嵌入式系統(tǒng)開發(fā)流程圖

          圖4.16嵌入式開發(fā)不同階段的常用軟件

          嵌入式系統(tǒng)的軟件開發(fā)與通常軟件開發(fā)的區(qū)別主要在于軟件實(shí)現(xiàn)部分,其中又可以分為編譯和調(diào)試兩部分,下面分別對(duì)這兩部分進(jìn)行講解。

          1.

          嵌入式軟件開發(fā)所采用的編譯為。所謂就是在一個(gè)平臺(tái)上生成可以在另一個(gè)平臺(tái)上執(zhí)行的代碼。在第3章中已經(jīng)提到,編譯的最主要的工作就在將程序轉(zhuǎn)化成運(yùn)行該程序的CPU所能識(shí)別的機(jī)器代碼,由于不同的體系結(jié)構(gòu)有不同的指令系統(tǒng)。因此,不同的CPU需要有相應(yīng)的編譯器,而交叉編譯就如同翻譯一樣,把相同的程序代碼翻譯成不同CPU的對(duì)應(yīng)可執(zhí)行二進(jìn)制文件。要注意的是,編譯器本身也是程序,也要在與之對(duì)應(yīng)的某一個(gè)CPU平臺(tái)上運(yùn)行。嵌入式系統(tǒng)交叉編譯環(huán)境如圖4.17所示。

          小知識(shí)

          與交叉編譯相對(duì)應(yīng),平時(shí)常用的編譯稱為本地編譯。


          上一頁 1 2 3 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();