20180615 嵌入式linux基礎知識

2021-08-20 18:41:31 字數 1512 閱讀 4624

嵌入式計算機是整個嵌入式系統的核心,主要包括應用軟體層、系統軟體層、硬體抽象層、硬體層。執行部件是控制物件,接受來自嵌入式計算機系統發出的指令,執行相應的操作。

figure1 嵌入式系統組成

硬體抽象層:主要包括對底層硬體進行初始化與對硬體裝置進行配置等(硬體裝置的驅動實現)。

硬體層:微控制器,裝置輸入輸出(i/o)介面,儲存器(rom,eeprom)等外設。

系統軟體層:(rtos)實時作業系統,圖形使用者介面介面,系統檔案等。

應用軟體層:依據需要實現功能開發。

從硬體分類。

a) 可以分為基於嵌入式微控制器(emcu),俗稱微控制器,把cpu,儲存器,i/o和其他外部裝置全部封裝在同一片積體電路上。

b)  基於嵌入式微處理器(empu),與計算機的處理器cpu相對應的微處理器,通常被裝配在電路板上。

c)  基於嵌入式數字訊號處理器(edsp),使其可以執行 dsp 演算法以及具有更高的編譯效率和更快的指令執行速度。

d) 基於嵌入式片上系統(esoc),許多功能模組整合在一塊晶元上,是乙個高度整合的電路系統。

典型的嵌入式作業系統分類:wince 作業系統,uc/os-ii 作業系統,vxworks 作業系統,linux 作業系統。

linux核心主要包括:

程序排程、記憶體管理、虛擬檔案系統、網路介面(包括網路裝置驅動程式和網路介面)以及程序間通訊(管道,有名管道,訊號量,訊號,套介面,訊息介面及共享記憶體等)等五個子系統。

程序間通訊相應概念

a)    管道和有名管道:管道僅允許具有親緣關係的程序之間進行通訊。有名管道不但具有管道的功能,而且還允許無親緣關係的程序之間進行通訊,這主要是因為有名管道對管道進行了命名。

b)    訊號量:一種程序之間以及同一程序不同執行緒之間的同步通訊機制。

c)    訊號:既可以在程序之間進行通訊,又可以在程序本身之中進行通訊。

d)    套介面:允許在不同機器的程序之間進行通訊。

f)     共享記憶體:最快的程序間通訊機制。為了實現程序間的同步與互斥,它往往與其他的通訊機制結合起來使用。

linux程序排程

乙個程序一般經歷三個狀態:就緒態,阻塞態(cpu資源不足或者等待時間過長),執行態。程序排程分為兩個部分:1,如何分配cpu時間,即排程時機。2,選擇哪個程序,即排程演算法。linux中排程程式的排程演算法包括:優先順序(priority)、先來先服務(fifo)、輪詢(round robin),以及它們的各種組合。

linux時鐘源

包括兩個時鐘源進行計時:1,實時時鐘(realtime clock,rtc);實時時鐘也被稱為 cmos時鐘,作為持久存放系統時間裝置的實時時鐘是靠主機板上的時鐘電路來保持系統計時。2,作業系統時鐘(operatingsystem clock,osc),一般由定時/計數晶元(8253/8254)產生提供了一種週期性的觸發中斷機制。中斷訊號是由定時/計數晶元每隔一段時間產生的輸出脈衝傳到中斷控制器上產生的,然後觸發時鐘中斷。

gdbserver遠端除錯嵌入式Linux裝置

然而,有些情況下嵌入式裝置的硬體資源很有限,比如我手頭的這個裝置,總的rom空間只有16.5mb,韌體,一些系統程式加一些庫就占去了13mb 這樣我可以用的空間就只剩下3mb,而乙個交叉編譯得到的gdb二進位制大小有將近9mb,顯然是放不進去的了。所以聰明的人類想到了另一種方法gdbserver g...

初識嵌入式 嵌入式開發概述

1 什麼是嵌入式技術 1 嵌入式軟體與非嵌入式軟體的區別?答 嵌入式軟體是結合作業系統之上做的開發 非嵌入式軟體是做的裸機開發。裸機 沒有作業系統 2 嵌入式開發與微控制器開發的區別?答 區別 是否有作業系統。拓展 答 優點 解決了軟體的移植性 解決了開發人員的能力的劃分問題。提供了豐富的網路協議 ...

如何學習嵌入式 嵌入式如何入門?

學習嵌入式,該學習什麼基本的知識呢?嵌入式如何入門?其次,應該對作業系統有所了解,這對你對硬體和軟體的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如程序 執行緒,系統如何來分配資源的,系統如何來管理硬體的,當然,不是看書就能把這些理解透,如果不是一時能理解,沒關係,多看看,結合以後的專案經驗...