移動嵌入式開發概述



計算機系統的三大領域

1服務器市場功能強利潤最大的市場可用性強可擴展性

2桌面市場最廣闊的市場

3嵌入式市場潛力最大的市場

 

以往計算機分類:

大型計算機、中型機、小型機和微計算機

目前計算機分類:

超級計算機,大型計算機、工作站、微計算機、亞微計算機

亞微計算機(嵌入式計算機) 是以嵌入式系統的形式隱藏在各種裝置、產品和系統中

 

嵌入式系統定義:

以應用爲中心、以計算機技術爲基礎,軟硬件可裁剪,應用系統對功能、可靠性、成本、體積、功耗和應用環境有特殊要求的專用計算機系統。是將應用程序、操作系統和計算機硬件集成在一起的系統(技術角度)

嵌入式系統是設計完成複雜功能的硬件和軟件,並使其緊密耦合在一起的計算機系統(系統角度)

 

微機學會定義

嵌入式系統是以嵌入式應用爲目的的計算機系統。可分爲系統級、板級、片級

    系統級:各種類型的工控機、PC104模塊

    板級:各種類型的帶CPU的主板及OEM產品

片級:各種以單片機、DSP、微處理器爲核心的產品

 

特點

1功耗限制嵌入式系統中,尤其是在用電池供電的嵌入式系統中,這是一個主要考慮的因素。大耗電量直接影響到硬件費用,並影響電源壽命以及帶來散熱問題。

2低成本包含硬件成本和軟件成本。硬件成本主要決定於所使用的微處理器、所需的內存及相應的外圍芯片;軟件成本通常難於預測,但一個好的設計方法有利於降低軟件成本。

3多速率系統同時運行多個實時性任務,系統必須同時控制這些動作,但這些動作有些速度慢,有些速度快。

4環境相關性嵌入式系統不是獨立的,而是與其被嵌入的設備緊密相關聯。

5系統內核小由於嵌入式系統一般是應用於小型電子裝置的,系統資源相對有限,所以內核較之傳統的操作系統要小得多。比如ENEA公司的OSE實時OS,內核只有5K,而Windows的內核則要大得多。

6專用性強嵌入式系統的個性化很強,其中的軟件系統和硬件的結合非常緊密,一般要針對硬件進行系統的移植。同時針對不同的任務,往往需要對系統進行較大更改,程序的編譯下載要和系統相結合,這種修改和通用軟件的“升級”是完全不同的概念。

7、不可壟斷性:PCWinTel壟斷,嵌入式系統工業的基礎是以應用爲中心的“芯片”,設計和麪嚮應用的軟件產品開發。

8、產品相對穩定性:普通處理器18月、嵌入式處理器810

 

實時性

實時性的本質是任務處理所化費時間的可預測性,即任務需要在規定的時限內完成。

任務執行的時間可以根據系統的軟硬件的信息而進行確定性的預測。也就是說,如果硬件可以做這件工作,那麼基於實時操作系統的軟件將可以確定性的做這件工作。

實時系統:實時系統的正確性依賴於運行結果的邏輯正確性和運行結果產生的時間正確性,即實時系統必須在規定的時間範圍內正確地響應外部物理過程的變化。

嵌入式系統≠實時系統:有些嵌入式系統沒有實時性要求

 

硬實時軟實時

“軟”意味着如果沒有滿足指定的時間約束並不會導致災難性的後果,而對於硬實時系統來說卻是災難性的

從實踐上說,軟實時和硬實時之間的區別通常(隱含的和錯誤的)與系統的時間精度有關:由於這個原因,典型的,軟實時任務的調度精度必須大於千分之一秒,而硬實時任務爲微秒級。

 

嵌入式系統組成:軟件子系統:應用程序、操作系統(協議棧)。2、硬件子系統:外圍設備(輸入輸出接口、存儲器、運算器、控制器)

  1. 最小硬件系統:系統的所有部分是不可或缺的,不能再少少了就不能工作。

     

    實時操作系統的特點

    總的來說實時操作系統是事件驅動的,能對來自外界的作用和信號在限定的時間範圍內作出響應。它強調的是實時性、可靠性和靈活性, 與實時應用軟件相結合成爲有機的整體起着核心作用, 由它來管理和協調各項工作,爲應用軟件提供良好的運行軟件環境及開發環境。

    從實時系統的應用特點來看實時操作系統可以分爲兩種:一般實時操作系統和嵌入式實時操作系統

     

    一般實時操作系統應用於實時處理系統的上位機和實時查詢系統等實時性較弱的實時系統,並且提供了開發、調試、運用一致的環境。

     

     嵌入式實時操作系統應用於實時性要求高的實時控制系統,而且應用程序的開發過程是通過交叉開發來完成的,即開發環境與運行環境是不一致。嵌入式實時操作系統具有規模小(一般在幾K~幾十K )、可固化使用實時性強(在毫秒或微秒數量級上)的特點

     

    操作系統是計算機中最基本的程序。操作系統負責計算機系統中全部軟硬資源的分配與回收、控制與協調等併發的活動;操作系統提供用戶接口,使用戶獲得良好的工作環境;操作系統爲用戶擴展新的系統功能提供軟件平臺。

     

    實時操作系統是一段在嵌入式系統啓動後首先執行的背景程序,用戶的應用程序是運行於RTOS之上的各個任務,RTOS根據各個任務的要求,進行資源(包括存儲器、外設等)管理、消息管理、任務調度、異常處理等工作。在RTOS支持的系統中, 每個任務均有一個優先級,RTOS根據各個任務的優先級,動態地切換各個任務,保證對實時性的要求。

     

     

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

     

    資源:程序運行時可使用的軟、硬件環境統稱爲資源。資源可以是輸入輸出設備,例如打印機、鍵盤、顯示器。資源也可以是一個變量、一個結構或一個數組等。

     

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

     

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

     

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

     

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

     

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

     

     

    中斷是一種硬件機制,用於通知CPU有個異步事件發生了。中斷一旦被識別,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳轉到專門的子程序,稱爲中斷服務子程序(ISR)。中斷服務子程序做事件處理,處理完成後,程序回到:

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

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

    3. 對佔先式內核而言,讓進入就緒態的優先級最高的任務開始運行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章