• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式系統基礎之:嵌入式軟件開發流程

    嵌入式系統基礎之:嵌入式軟件開發流程

    作者: 時間:2013-09-13 來源:網絡 收藏

    本文引用地址:http://www.czjhyjcfj.com/article/257144.htm

    4.3開發流程

    4.3.1開發概述

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

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

    再次,開發環境的選擇對于嵌入式系統的開發也有很大的影響。這里的開發環境包括嵌入式操作系統的選擇以及開發工具的選擇等。本書在4.1.5節對各種不同的嵌入式操作系統進行了比較,讀者可以以此為依據進行相關的選擇。比如,對開發成本和進度限制較大的產品可以選擇嵌入式Linux,對實時性要求非常高的產品可以選擇Vxworks等。

    由于本書主要討論的應用開發,因此對硬件開發不做詳細講解,而主要討論嵌入式軟件開發的流程。

    4.3.2嵌入式軟件開發概述

    嵌入式軟件開發總體流程為圖4.15中“軟件設計實現”部分所示,它同通用計算機軟件開發一樣,分為需求分析、軟件概要設計、軟件詳細設計、軟件實現和軟件測試。其中嵌入式軟件需求分析與硬件的需求分析合二為一,故沒有分開畫出。

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

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

    圖4.15嵌入式系統開發流程圖

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

    嵌入式系統的軟件開發與通常軟件開發的區別主要在于軟件實現部分,其中又可以分為編譯和調試兩部分,下面分別對這兩部分進行講解。

    1.

    嵌入式軟件開發所采用的編譯為。所謂就是在一個平臺上生成可以在另一個平臺上執行的代碼。在第3章中已經提到,編譯的最主要的工作就在將程序轉化成運行該程序的CPU所能識別的機器代碼,由于不同的體系結構有不同的指令系統。因此,不同的CPU需要有相應的編譯器,而交叉編譯就如同翻譯一樣,把相同的程序代碼翻譯成不同CPU的對應可執行二進制文件。要注意的是,編譯器本身也是程序,也要在與之對應的某一個CPU平臺上運行。嵌入式系統交叉編譯環境如圖4.17所示。

    小知識

    與交叉編譯相對應,平時常用的編譯稱為本地編譯。


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 伊吾县| 乳山市| 波密县| 阿鲁科尔沁旗| 蛟河市| 陕西省| 景德镇市| 静宁县| 南京市| 阜平县| 莲花县| 金坛市| 大关县| 南川市| 吴堡县| 盐源县| 乌拉特中旗| 洛宁县| 深州市| 湟源县| 磴口县| 广西| 邻水| 福鼎市| 平湖市| 武冈市| 高尔夫| 万山特区| 延长县| 南皮县| 江安县| 兴化市| 日照市| 周宁县| 云林县| 安西县| 平山县| 丰县| 昌邑市| 渝北区| 秦安县|