嵌入式基本概念

2021-07-14 19:18:29 字數 2263 閱讀 1902

前後臺系統:對基於晶元的開發來說,應用程式一般是乙個無線迴圈,平時微處理器在停機狀態,所有事都靠中斷服務來完成,可稱為前後系統或超迴圈系統;

作業系統:作業系統是計算機中最基本的程式。作業系統負責計算機系統中全部軟硬資源的分配與**、控制與協調等併發的活動;作業系統提供使用者介面,使使用者獲得良好的工作環境;

實時作業系統(rtos):實時作業系統是一段在嵌入式系統啟動後首先執行的背景程式,使用者的應用程式是執行於rtos之上的各個任務,rtos根據各個任務的要求,進行資源(包括儲存器、外設等)管理、訊息管理、任務排程、異常處理等工作。在rtos支援的系統中,每個任務均有乙個優先順序,rtos根據各個任務的優先順序,動態地切換各個任務,保證對實時性的要求。

**的臨界區:**的臨界區也稱為臨界區,指處理時不可分割的**,執行這些**不允許被打斷。一旦這部分**開始執行,則不允許任何中斷打入(這不是絕對的,如果中斷不呼叫任何包含臨界區的**,也不訪問任何臨界區使用的共享資源,這個中斷可能可以執行)。為確保臨界區**的執行,在進入臨界區之前要關中斷,而臨界區**執行完成以後要立即開中斷。

資源:程式執行時可使用的軟、硬體環境統稱為資源。資源可以是輸入輸出裝置,例如印表機、鍵盤、顯示器。資源也可以是乙個變數、乙個結構或乙個陣列等。

共享資源:可以被乙個以上任務使用的資源叫做共享資源。(為了防止資料被破壞,每個任務在與共享資源打交道時,必須獨佔該資源,這叫做互斥)

任務:乙個任務,也稱作乙個執行緒,是乙個簡單的程式,該程式可以認為cpu完全屬於該程式自己。實時應用程式的設計過程,包括如何把問題分割成多個任務,每個任務都是整個應用的某一部分,每個任務被賦予一定的優先順序,有它自己的一套cpu暫存器和自己的棧空間。

任務切換:當多工核心決定執行另外的任務時,它儲存正在執行任務的當前狀態,即cpu暫存器中的全部內容。這些內容儲存在任務的當前狀態儲存區,也就是任務自已的棧區之中。入棧工作完成以後,就把下乙個將要執行的任務的當前狀態從任務的棧中重新裝入cpu的寄予存器,並開始下乙個任務的執行。這個過程就稱為任務切換。

核心:多工系統中,核心負責管理各個任務,或者說為每個任務分配cpu時間,並且負責任務之間的通訊。核心提供的基本服務是任務切換。使用實時核心可以大大簡化應用系統的設計,是因為實時核心允許將應用分成若干個任務,由實時核心來管理它們。(核心需要消耗一定的系統資源,比如2%~5%的cpu執行時間、ram和rom等。核心提供必不可少的系統服務,如訊號量、訊息佇列、延時等。)

非佔先式核心:非佔先式核心要求每個任務自我放棄cpu 的所有權。非佔先式排程法也稱作合作型多工,各個任務彼此合作共享乙個cpu。非同步事件還是由中斷服務來處理。中斷服務可以使乙個高優先順序的任務由掛起狀態變為就緒狀態。但中斷服務以後控制權還是回到原來被中斷了的那個任務,直到該任務主動放棄cpu的使用權時,那個高優先順序的任務才能獲得cpu的使用權。

佔先是核心:當系統響應時間很重要時,要使用佔先式核心。因此絕大多數商業上銷售的實時核心都是佔先式核心。最高優先順序的任務一旦就緒,總能得到cpu的控制權。當乙個執行著的任務使乙個比它優先順序高的任務進入了就緒狀態,當前任務的cpu使用權就被剝奪了,或者說被掛起了,那個高優先順序的任務立刻得到了cpu的控制權。如果是中斷服務子程式使乙個高優先順序的任務進入就緒態,中斷完成時,中斷了的任務被掛起,優先順序高的那個任務開始執行。

任務優先順序:任務的優先順序是表示任務被排程的優先程度。每個任務都具有優先順序。任務越重要,賦予的優先順序應越高,越容易被排程而進入執行態。

中斷:中斷是一種硬體機制,用於通知cpu有個非同步事件發生了。中斷一旦被識別,cpu儲存部分(或全部)上下文即部分或全部暫存器的值,跳轉到專門的子程式,稱為中斷服務子程式(isr)。中斷服務子程式做事件處理,處理完成後,程式回到:

1. 在前後臺系統中,程式回到後台程式;

2. 對非佔先式核心而言,程式回到被中斷了的任務;

3. 對佔先式核心而言,讓進入就緒態的優先順序最高的任務開始執行。

時鐘節拍:時鐘節拍是特定的週期性中斷。這個中斷可以看作是系統心臟的脈動。中斷之間的時間間隔取決於不同應用,一般在10ms到200ms之間。時鐘的節拍式中斷使得核心可以將任務延時若干個整數時鐘節拍,以及當任務等待事件發生時,提供等待超時的依據。時鐘節拍率越快,系統的額外開銷就越大。

嵌入式基本概念

1.uboot 和 bootloader bootloader 引導程式,在嵌入式linux中,沒有bios,而是直接從flash中執行,來裝載核心。它可以初始化硬體裝置,從而將系統的軟硬體環境帶到乙個合適的狀態,以便為最終呼叫作業系統做好準備。uboot 是bootloader中的一種 2.nor...

嵌入式系統的基本概念

一 定義 定義1 嵌入式系統用來控制或監視機器 裝置 工廠等大規模系統的裝置。定義2 嵌入式系統是指以應用為中心,計算機技術為基礎,軟硬體可剪裁,適應應用系統對功能 可靠性 成本 體積 功耗嚴苛要求的專用計算機系統。二 發展史 1 積體電路 integrated circuit 把乙個電路中所需的電...

嵌入式科普 基本概念,設計流程,開發特點,如何學習

本文涉及的內容較多,個人知識水平有限,如有不當之處歡迎指正。特別鳴謝 嵌入式大神 tofulee woshizmxin 對本文給出了一些很好的意見。嵌入式是乙個比較模糊的概念,也沒有很準確的解釋,其實也沒必要一定找出個準確的解釋來,並不影響學習。參考了網上的資料,根據我的認識,可以認為嵌入式系統是一...