一般指非PC系統,有計算機功能但又不稱之為計算機的設備和器材。它是以應用為中心,軟硬件可裁剪的,適用應用系統對功能,可靠性,成本,體積,功耗等綜合性嚴格要求的專用計算機系統。
定義:嵌入到對象系統中的專用計算機系統。對象系統是指所嵌入的宿主系統;
嵌入性,專用性和計算機系統是計算機系統的三個基本要素;
(1)嵌入性:是指嵌入到對象系統中,滿足對象系統的環境要求,如物理環境(小型),電氣環境(可靠),成本低廉等要求;
(2)專用性:嵌入式系統的軟硬件可裁剪,可滿足對象系統要去的小軟、硬件配置;
(3)計算機系統:嵌入式系統必須滿足對象系統控制要求的計算機系統,這樣的計算機系統必須配置有與對象系統相適應的接口電路。
二、嵌入式Linux系統結構
嵌入式Linux系統分三層:應用層,內核層,硬件層。
1、應用層是一些應用程序和庫,是面向用戶的,如命令,QQ等應用程序;
2、內核層的主要功能是設備驅動,進程管理,內存管理,文件系統和網絡通信;
其中,內核與應用程序之間是系統調用接口(函數),它為用戶提供內核的功能,同時也保護了內核。but,問題來了,為什么內核要向用戶提供這些接口(函數)呢?
其主要原因有:
(1)內核要為應用程序服務,應用程序如果沒有內核服務,則功能非常單一;
(2)內核是一個穩定的代碼,同時也要為多個用戶空間的程序服務,為了防止用戶空間的某些程序使內核代碼崩潰或產生其它問題,而不能為其他用戶服務,所以內核向用戶空間提供接口(函數),并在這些接口函數中加上了一些保護,這樣將向符合接口函數的應用程序提供服務,同時也保護了內核。(在學習函數接口時,我們主要關注接口的功能、參數、返回值)。
內核層與硬件層之間的接口是驅動程序,驅動程序負責硬件操作,內核提供了驅動程序的添加機制,便于開發人員將驅動代碼添加到內核中。
3、硬件層是以信號為對象,完成各種信號之間的相互轉換,通常信號變換前后其承載的信息保持不變,因此,無論如何變換,信號之間總是存在某種函數關系。
嵌入式系統硬件電路是由微處理器,存儲器,輸入輸出設備,通信與擴展接口構成。
微處理器:處理器將所有可操作的硬件資源全部以地址空間的形式組織在一起,上層系統(軟件)只看到統一的地址空間。可見處理器的任務就是將所有的硬件資源組織在一起,供軟件操作,這項工作即尋址。
處理器的另一項任務就是對數據進行轉移,各種算術邏輯運算,決定這些操作的就是程序,或稱指令。
存儲器:用于保護系統的程序指令和運行過程中所需的寄存空間。
輸入輸出設備/通信與擴展接口:實現系統與外界環境之間的信息交換。