嵌入式系統的軟體通常執行在有限的硬體資源上:沒有硬碟、作業系統、鍵盤或螢幕。 軟體一般都沒有檔案系統,如果有的話,也會釆用
flash
驅動器。如果有人機互動介面的 話,也是乙個小鍵盤或液晶顯示器。硬體是計算機的物理部分,和儲存在硬體中的計算機
軟體程式和資料區分開來。嵌入到機械中的嵌入式系統需要長期無故障連續執行,
因此它的軟體需要比
pc中的
軟體更加仔細地開發和更加嚴格地測試。
那麼,到底什麼是嵌入式系統呢? 根據
ieee
(國際電氣和電子工程師協會)的定義,嵌入式系統是
「控制、監視或者輔 助裝置、機器和車間執行的裝置」(原文為
devices used to control, monitor, or assist the operation of equipment, machinery or plants )。
這主要是從應用上加以定義的,從中可以看 出嵌入式系統是軟體和硬體的綜合體,還可以涵蓋機械等附屬裝置。
在國內的學術界普遍被認同的定義是:以應用為中心、以計算機技術為基礎,軟體 硬體可裁剪,適應應用系統對功能、可靠性、
成本、體積、功耗嚴格要求的專用計算機 系統。
可以這樣認為,嵌入式系統是一種專用的計算機系統,作為裝置或裝置的一部分。通常,嵌入式系統是乙個控制程式儲存在
rom中的嵌入式處理器控制板。事實上,所有帶 有數字介面的裝置,如手錶、微波爐、錄影機、汽車等,都使用嵌入式系統,有些嵌入式 系統還包含作業系統,但大多數嵌入式系統都是由單個程式實現整個控制邏輯。
嵌入式系統的發展歷史大概可以分為以下幾個階段:
嵌入式系統的組成
乙個嵌入式系統裝置一般都由嵌入式計算機系統和執行裝置組成,如圖
1-1所示,嵌 入式計算機系統是整個嵌入式系統的核心,由硬體層、中間層、系統軟體層和應用軟體層組成。執行裝置也稱為被控物件,它可以接受嵌入式計算機系統發出的控制命令,執行所 規定的操作或任務。執行裝置可以很簡單,如手機上的乙個微小型的電機,當手機處於震動接收狀態時開啟;也可以很複雜,如
機械人,上面整合了多個微小型控制電機和多種感測器,從而可以執行各種複雜的動作和感受各種狀態資訊。
一、硬體層
硬體層中包含嵌入式微處理器、儲存器
(sdram
、rom. flash
等)、通用裝置介面 和
i/o介面
(a/d
、d/a
、i/o
等)。在一片嵌入式處理器基礎上新增電源電路、時鐘電路和儲存器電路,就構成了乙個嵌入式核心控制模組。其中作業系統和應用程式都可以固化在
rom
中。1.
嵌入式微處理器
嵌入式系統硬體層的核心是嵌入式微處理器,嵌入式微處理器與通用
cpu最大的不同在於嵌入式微處理器大多任務作在為特定使用者群所專門設計的系統中,它將通用
cpu中許多由板卡完成的任務整合到晶元內部,從而有利於嵌入式系統在設計時趨於小型化,同時還具有很高的效率和可靠性。
2.儲存器
嵌入式系統需要儲存器來存放和執行**。嵌入式系統的儲存器包含
cache
、主存和輔助儲存器,其儲存結構如圖
1-2所示。
二、中間層
硬體層和軟體層之間為中間層,也稱為硬體抽象層
(hardware abstract layer, hal)
或板級支援包
(board support package, bsp),
它將系統上層軟體與底層硬體分離開來, 使系統的底層驅動程式與硬體無關,上層軟體開發人員無需關心底層硬體的具體情況,根據
bsp層提供的介面即可進行開發。該層一般包含相關底層硬體的初始化、資料的輸入/ 輸出操作和硬體裝置的配置等功能。
bsp具有以下兩個特點。 •
bsp需要為作業系統提供操作和控制具體硬體的方法。 •
在實現上,
bsp是乙個介於作業系統和底層硬體之間的軟體層次,包括了系統中大部分與硬體聯絡緊密的軟體模組。設計乙個完整的
bsp需要完成兩部分工作:嵌入式系統的硬體初始化以及
bsp功能,設計硬體相關的裝置驅動。 (
1)嵌入式系統硬體初始化
系統初始化過程可以分為
3個主要環節,按照自底向上、從硬體到軟體的次序依次為: 片級初始化、板級初始化和系統級初始化。•
片級初始化
完成嵌入式微處理器的初始化,包括設定嵌入式微處理器的核心暫存器和控制寄存 器、嵌入式微處理器核心工作模式和嵌入式微處理器的區域性匯流排模式等。片級初始化把嵌 入式微處理器從上電時的預設狀態逐步設定成系統所要求的工作狀態。這是乙個純硬體的 初始化過程。 •
板級初始化
完成嵌入式微處理器以外的其他硬體裝置的初始化。另外,還需設定某些軟體的資料 結構和引數,為隨後的系統級初始化和應用程式的執行建立硬體和軟體環境。這是乙個同 時包含軟硬體兩部分在內的初始化過程。 •
系統級初始化
該初始化過程以軟體初始化為主,主要進行作業系統的初始化。
bsp將對嵌入式微處 理器的控制權轉交給嵌入式作業系統,由作業系統完成餘下的初始化操作,包含載入和初 始化與硬體無關的裝置驅動程式,建立系統記憶體區,載入並初始化其他系統軟體模組,如 網路系統、檔案系統等。最後,作業系統建立應用程式環境,並將控制權交給應用程式的入口。
(2)硬體相關的裝置驅動程式
bsp的另乙個主要功能是硬體相關的裝置驅動。硬體相關的裝置驅動程式的初始化通 常是乙個從高到低的過程。儘管
bsp中包含硬體相關的裝置驅動程式,但是這些裝置驅動 程式通常不直接由
bsp使用,而是在系統初始化過程中由
bsp將他們與作業系統中通用 的裝置驅動程式關聯起來,並在隨後的應用中由通用的裝置驅動程式呼叫,實現對硬體設 備的操作。與硬體相關的驅動程式是
bsp設計與開發中另乙個非常關鍵的環節。
三、系統軟體層
系統軟體層由實時多工作業系統
(real-time operation system, rtos)、
檔案系統、 圖形使用者介面
(graphic user inte***ce, gui)
、網路系統及通用元件模組組成。
rtos
是嵌 入式應用軟體的基礎和開發平台
四、應用軟體層
應用軟體層是由基於實時系統開發的應用程式組成,用來實現對被控物件的控制功能。 功能層是面向被控物件和使用者的,為方便使用者操作,往往需要提供乙個友好的人機介面。
對於一些複雜的系統,在系統設計的初期階段就要對系統的需求進行分析,確定系統 的功能,然後將系統的功能對映到整個系統的硬體、軟體和執行裝置的設計過程中,稱為 系統的功能實現。
2023年7月24日15:02:41《嵌入式系統設計師》筆記
嵌入式系統設計師
嵌入式系統設計師說白就是編寫嵌入式系統的程式設計師,隨著嵌入式系統在越來越多的方面得到運用,嵌入式系統設計師也成為了目前最流行的高薪職業之一,雖然嵌入式系統設計師是目前流行的職業,但也不是是個人都能當的。嵌入式系統設計師,必須通過相應考試的合格人員,還要根據專案管理和工程技術的實際要求,開發出符合系...
嵌入式系統設計師必須掌握的東西
三年過去 這篇文章是3年前轉的 要學的東西真的很多 全部學會幾乎是個不可能的事情 按需索取,不斷學習吧 大體上的 1 基礎知識 目的 能看懂硬體工作原理,但重點在嵌入式軟體,特別是作業系統級軟體,那將是我的優勢。科目 數位電路 計算機組成原理 嵌入式微處理器結構。組合語言 c c 編譯原理 離散數學...
什麼是嵌入式?
嵌入式是什麼,與微控制器又有什麼關係,這些問題對於初學者來書只能抱著 學一步 看一步 的態度,那本篇文章閒談這個方向的觀點,或許能夠解決一些疑問與困惑。1.微控制器是什麼?微控制器是什麼,微控制器即單片微型計算機,為什麼說是單片的,我們都知道計算機的組成 控制器 運算器 儲存器 輸入 輸出 那微控制...