|
上海微動嵌入式培訓_嵌入式系統(tǒng)的硬件基本結(jié)構(gòu)和軟件層次結(jié)構(gòu),
嵌入式系統(tǒng)是專用計算機應(yīng)用系統(tǒng),它具有一般計算機組成的共性,也是由硬件和軟件組成。本文完整地描述了嵌入式系統(tǒng)的軟硬件各部分的組成結(jié)構(gòu)。
嵌入式系統(tǒng)的硬件基本結(jié)構(gòu)
嵌入式系統(tǒng)的硬件架構(gòu),是以嵌入式處理器為中心,由存儲器、I/O設(shè)備、通信模塊以及電源等必要的輔助接口組成。嵌入式系統(tǒng)是量身定做的專用計算機應(yīng)用系統(tǒng),又不同于普通計算機組成,在實際應(yīng)用中的嵌入式系統(tǒng)硬件配置非常精簡,除了微處理器和基本的外圍電路以外,其余的電路都可根據(jù)需要和成本進行裁剪、定制,非常經(jīng)濟、可靠。
嵌入式系統(tǒng)的硬件核心是嵌入式微處理器,有時為了提高系統(tǒng)的信息處理能力,常外接DSP和DSP協(xié)處理器(也可內(nèi)部集成),以完成高性能信號處理。
隨著計算機技術(shù)、微電子技術(shù)、應(yīng)用技術(shù)的不斷發(fā)展及納米芯片加工工藝技術(shù)的發(fā)展,以微處理器為核心的集成多種功能的SoC系統(tǒng)芯片已成為嵌入式系統(tǒng)的核心。在嵌入式系統(tǒng)設(shè)計中,要盡可能地滿足系統(tǒng)功能接口的SoC芯片。這些SoC集成了大量的外圍USB、、以太網(wǎng)、AD/DA、IIS等功能模塊。
可編程片上系統(tǒng)SOPC( On Programmable )結(jié)合了SoC和PLD、各自的技術(shù)優(yōu)點,使得系統(tǒng)具有可編程的功能,是可編程邏輯器件在嵌入式應(yīng)用中的完美體現(xiàn),極大地提高了系統(tǒng)的在線升級、換代能力。
以SoC/SOPC為核心,用最少的外圍部件和連接部件構(gòu)成一個應(yīng)用系統(tǒng),滿足系統(tǒng)的功能需求,這也是嵌入式系統(tǒng)發(fā)展的一個方向。
因此,嵌入式設(shè)計是以處理器/SoC/SOPC為核心來完成系統(tǒng)設(shè)計的,其外圍接口包括存儲設(shè)備、通信擴展設(shè)備、擴展設(shè)備接口和輔助的機電設(shè)備(電源、、等),構(gòu)成硬件系統(tǒng)。嵌入式螺栓二維圖, 嵌入式系統(tǒng)跟單片機, 嵌入式SP全拼, 嵌入式操作寄存器, 常州同惠嵌入式軟件, 嵌入式的成本, 中移物聯(lián)嵌入式開發(fā), css內(nèi)聯(lián)式嵌入式, tx2算嵌入式開發(fā), 互嵌入式社會結(jié)構(gòu), 義烏嵌入式開發(fā), 嵌入式常用模塊大全, 嵌入式遠程升級程序, 大學嵌入式?jīng)]學好, 互聯(lián)網(wǎng)嵌入式培訓, 嵌入式系統(tǒng)漏洞挖掘, 半嵌入式臺盆龍頭, 嵌入式smif, 嵌入式鍵盤原理圖, 嵌入式的國際會議, 嵌入式軟考怎么分, 嵌入式實驗芯片,
嵌入式系統(tǒng)軟件的層次結(jié)構(gòu)
在設(shè)計一個簡單的應(yīng)用程序時,可以不使用操作系統(tǒng),但在設(shè)計較復(fù)雜的程序時,可能就需要一個操作系統(tǒng)(OS)來管理和控制內(nèi)存、多任務(wù)、周邊資源等。依據(jù)系統(tǒng)所提供的程序界面來編寫應(yīng)用程序,可大大減少應(yīng)用程序員的負擔。
對于使用操作系統(tǒng)的嵌入式系統(tǒng)來說,嵌入式系統(tǒng)軟件結(jié)構(gòu)一般包含4個層面:設(shè)備驅(qū)動層、實時操作系統(tǒng)、應(yīng)用程序接口API層、實際應(yīng)用程序?qū)。有些書籍將?yīng)用程序接口API歸屬于OS層,嵌入式系統(tǒng)的軟件結(jié)構(gòu),是按3層劃分的。由于硬件電路的可裁剪性和嵌入式系統(tǒng)本身的特點,其軟件部分也是可裁剪的。
對于功能簡單,僅包括應(yīng)用程序的嵌入式系統(tǒng),一般不使用操作系統(tǒng),僅有應(yīng)用程序和設(shè)備驅(qū)動程序。高性能嵌入式系統(tǒng)的應(yīng)用越來越廣泛,操作系統(tǒng)的使用成為必然發(fā)展趨勢。本小節(jié)主要講述的是具有操作系統(tǒng)的嵌入式軟件層次。
1.驅(qū)動層程序
驅(qū)動層程序是嵌入式系統(tǒng)中不可缺少的重要部分,使用任何的外部設(shè)備都需要有相應(yīng)的驅(qū)動層程序的支持,它為上層軟件提供了設(shè)備的操作接口。上層軟件不會理會設(shè)備的具體內(nèi)部操作,只需調(diào)用驅(qū)動層程序提供的接口即可。驅(qū)動層程序一般包含硬件抽象層HAL、板級支持包BSP和設(shè)備驅(qū)動程序。
板級支持包實現(xiàn)的功能大體有以下兩個方面:
系統(tǒng)啟動時,完成對硬件的初始化。例如,對系統(tǒng)內(nèi)存、寄存器以及設(shè)備的中斷進行設(shè)置。這是比較系統(tǒng)化的工作,它要根據(jù)嵌入式開發(fā)所選的CPU類型、硬件以及嵌入式操作系統(tǒng)的初始化等多方面決定BSP應(yīng)實現(xiàn)什么功能。
為驅(qū)動程序提供訪問硬件的手段。驅(qū)動程序經(jīng)常要訪問設(shè)備的寄存器,對設(shè)備的寄存器進行操作。如果整個系統(tǒng)為統(tǒng)一編址,則開發(fā)人員可直接在驅(qū)動程序中用C語言的函數(shù)訪問設(shè)備寄存器。但是,如果系統(tǒng)為單獨編址,則C語言就不能直接訪問設(shè)備中的寄存器,只有匯編語言編寫的函數(shù)才能進行對外圍設(shè)備寄存器的訪問。BSP就是為上層的驅(qū)動程序提供訪問硬件設(shè)備寄存器的函數(shù)包。 |
|