1. 程式人生 > >嵌入式軟體設計(1)--概述

嵌入式軟體設計(1)--概述

嵌入式軟體的定義及特點

嵌入式系統的定義

嵌入式系統是以應用為中心,以計算機技術為基礎,軟硬體可裁剪、功能、可靠性、功耗嚴格要求的專用計算機系統。

其中要說明的幾個點是
1. 嵌入式系統是專用系統,而不是通用系統,其往往是為了特點領域而進行開發應用的;
2. 嵌入式系統的軟硬體可以進行裁剪。其中主要突出的是嵌入式系統可以根據實際的需要進行軟硬體所需內容的選擇,具有極大的靈活性以及可選擇性;
3. 嵌入式系統一般要求具有很高的實時性,特別是應用於航天等領域時,其實時性要求會更高;
4. 嵌入式系統廣泛使用,但是其對於成本、體積、功耗都有較多的要求,為的是更為精巧地嵌入到應用中。

嵌入式系統的知識體系

這裡寫圖片描述

其中,對於嵌入式軟體而言,更多的是涉及到計算機技術中軟體方面的內容,因此需要熟練地掌握上述的種種內容。同時,對於硬體方面也要有一個比較系統化的瞭解。
對於其他板塊而言,提供這個版塊的目的是在需要設計一個嵌入式系統時,根據上述的知識體系以及實際的需要進行合理化的人才選擇。

嵌入式系統的特點

  • 系統核心小
  • 專用性強
  • 系統精簡
  • 高實時性
  • 需要專門的開發工具和環境

嵌入式系統的組成結構

這裡寫圖片描述

對於這張圖暫時沒有一個系統化的認識與理解,因此等到學習過程中不斷地進行學習鞏固,加深認識。

值得注意的是,嵌入式系統的硬體是以嵌入式處理器或者微處理器為核心的SoC/SoPC(System on Chips/System-on-a-Programmable-Chip),同時配置必要的外圍介面部件。

微處理器的兩個發展分支

通用處理器

  • 目標: 高速的數字處理能力
  • 路線:匯流排速度的提升,儲存量的擴大
  • 其他:功耗的增加、體積的增加

嵌入式微處理器

  • 目標:突出強調嵌入式的效能以及控制能力
  • 路線: 單晶片實現,多樣性
  • 其他:低功耗、小體積、介面豐富

嵌入式處理器分類

  • 嵌入式微處理器MPU(Microprocessor)
  • 嵌入式微控制器MCU(Microcontroller Unit)–微控制器
  • 嵌入式數字訊號處理器(Digital Signal Processor)
  • Soc/SoPC

注:嵌入式片上系統是在一個矽片上實現一個複雜的系統,其特點是整個嵌入式系統大部分均可整合到一塊或者幾塊晶片中去,它可以使應用系統電路板變得很簡潔。

嵌入式SoPC

嵌入式SoPC來源於SoC,因此其具有嵌入式片上系統高度繼承化,電路板簡潔的特點,同時作為可程式設計邏輯技術的實現,其具備了可程式設計的功能,具體的表現就是可裁減、可擴充、可升級等靈活的設計方式。

嵌入式軟體組成結構

這裡寫圖片描述
嵌入式軟體是針對特定應用以及相應的硬體平臺,為完成使用者預期任務而設計的計算機軟體
嵌入式軟體具有四層結構。最低層是BSP/HAL, 稱之為板級支援包或者是硬體抽象層, 其功能是提供基本的硬體支援;再上一層是OS,作業系統,負責對於任務資源的分配與管理,接著是中介軟體,例如我們最為熟知的JVM,其是跨平臺中介軟體的使用,到了最上層就是應用軟體。

實時作業系統(RTOS)體系結構

這裡寫圖片描述
在實時作業系統中,作業系統負責的基本任務就是對於記憶體、檔案的管理,以及程序的排程,擴充套件功能就是對於網路模組等的排程以及使用。

通用計算機與嵌入式系統

特別注意的是通用計算機與嵌入式系統在開發方式上的差異。通用計算機開發平臺和執行平臺均為通用計算機,而嵌入式系統開發平臺為通用計算機,執行平臺為嵌入式系統。

嵌入式系統開發流程

  • 需求分析、規格說明
  • 系統結構設計、硬體和軟體的選擇
  • 構件技術、構件設計與實現
  • 系統整合、測試與驗收