目錄
- 1 嵌入式系統的概念
- 1.1 定義一
- 1.2 定義二
- 2 嵌入式系統的分類
- 2.1 嵌入式微處理器(Embedded Microprocessor Unit, EMPU)
- 2.2 嵌入式微控制器(Microcontroller Unit, MCU)---即單片機
- 2.3 嵌入式 DSP 處理器(Embedded Digital Signal Processor, EDSP)
- 2.4 嵌入式片上系統(System On Chip)
- 3 嵌入式微控制器(Microcontroller Unit, MCU)的架構介紹
- 3.1 CISC(Complex Instruction Set Computer)
- ⑴ 指令特征
- ⑵ CISC體系的優缺點
- 3.2 RISC(Reduced Instruction Set Computer)
- ⑴ RISC體系的指令特征
- ⑵ RISC體系的優缺點
- 4 常見的嵌入式(實時RTOS)作業系統
- 4.1 嵌入式 Linux
- 4.2 Win CE
- 4.3 VxWorks
- VxWorks 的特點
- 4.4 OSE
- 4.5 Nucleus
- 4.6 eCos
- 4.7 μC/OS-II (讀作:miu cos two)
- μC/OS-II 的特點
- 4 ARM體系結構
- 5 參考
1 嵌入式系統的概念
1.1 定義一
嵌入式系統:以應用為中心、以計算機技術為基礎、軟體硬體可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統,
1.2 定義二
嵌入式系統:嵌入式系統是設計完成復雜功能的硬體和軟體,并使其緊密耦合在一起的計算機系統,
術語嵌入式反映了這些系統通常是更大系統中的一個完整的部分,稱為嵌入的系統,嵌入的系統中可以共存多個嵌入式系統,
2 嵌入式系統的分類
2.1 嵌入式微處理器(Embedded Microprocessor Unit, EMPU)
EMPU基于通用計算機的CPU,將EMPU裝配在專門設計的電路板上,在作業溫度、抗電磁干擾、可靠性等方面做了各種增強,但由于必須保留ROM、RAM、總線介面、各種外設等器件,可靠性和技術保密性都有所降低,
2.2 嵌入式微控制器(Microcontroller Unit, MCU)—即單片機
MCU又稱單片機,顧名思義,就是將整個計算機系統集成到一塊芯片中
芯片內部集成 ROM/EPROM、RAM、總線、總線邏輯、定時/計數器、WatchDog、I/O、串行口、脈寬調制輸出、A/D、D/A、Flash RAM、EEPROM 等各種必要功能和外設,
和EMPU相比,MCU的最大特點是單片化,體積大大減小,從而使功耗和成本下降、可靠性提高,MCU微控制器是目前嵌入式系統工業的主流,微控制器的片上外設資源一般比較豐富,適合于控制,因此稱微控制器,
MCU目前的品種和數量最多,比較有代表性的通用系列包括 8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300、數目眾多 ARM 芯片等,目前 MCU 占嵌入式系統約 70%的市場份額,
2.3 嵌入式 DSP 處理器(Embedded Digital Signal Processor, EDSP)
DSP 處理器對系統結構和指令進行了特殊設計,使其適合于執行 DSP 演算法,編譯效率較高,指令執行速度也較高,在數字濾波、FFT、譜分析等方面 DSP 演算法正在大量進入嵌入式領域,
2.4 嵌入式片上系統(System On Chip)
SOC有別于MCU是一個芯片級芯片,SOC是一個系統級芯片,是一個有專用目標的集成電路,其中包含完整系統并嵌入軟體的全部內容, SOC也是一種技術,用以實作從確定系統功能開始,到軟\硬體的劃分,并完成整個設計的程序,
什么是芯片級什么是系統級?
手機是系統級,主板是板級,主板上的某個芯片就是芯片級
3 嵌入式微控制器(Microcontroller Unit, MCU)的架構介紹
根據存盤器結構可以分為哈佛(Harvard)結構和普林斯頓(Princeton)(又稱為馮諾依曼)結構,
哈佛結構是一種將程式指令存盤和資料存盤分開的存盤器結構,中央處理器首先到程式指令存盤器中讀取程式指令內容,解碼后得到資料地址,再到相應的資料存盤器中讀取資料,并進行下一步的操作(通常是執行),
馮諾依曼結構是一種將程式指令存盤器和資料存盤器合并在一起的存盤器結構,程式指令存盤地址和資料存盤地址指向同一個存盤器的不同物理位置,
根據指令結構可以分為CISC(Complex Instruction Set Computer)架構和RISC(Reduced Instruction Set Computer)架構;
3.1 CISC(Complex Instruction Set Computer)
CISC是一種為了便于編程和提高記憶體訪問效率的晶片設計體系,早期的電腦使用組合語言編程,由于記憶體速度慢且價格昂貴,使得CISC體系得到了用武之地,在20世紀90年代中期之前,大多數的微處理器都采用CISC體系──包括Intel的80x86和Motorola的68K系列等,(直至現在筆記本和臺式計算機中用的intel和AMD生產的cpu也都是x86以及x86-64架構的,)
⑴ 指令特征
使用微代碼:指令集可以直接在微代碼記憶體(比主記憶體的速度快很多)里執行,新設計的處理器,只需增加較少的電晶體就可以執行同樣的指令集,也可以很快地撰寫新的指令集程式,
龐大的指令集:可以減少編程所需要的代碼行數,減輕程式師的負擔,
高階語言對應的指令集:包括雙運算元格式、暫存器到暫存器、暫存器到記憶體以及記憶體到暫存器的指令,
⑵ CISC體系的優缺點
優點:能夠有效縮短新指令的微代碼設計時間,允許設計師實作CISC體系機器的向上相容,新的系統可以使用一個包含早期系統的指令超集合,也就可以使用較早電腦上使用的相同軟體,另外微程式指令的格式與高階語言相匹配,因而編譯器并不一定要重新撰寫,
缺點:指令集以及晶片的設計比上一代產品更復雜,不同的指令,需要不同的時鐘周期來完成,執行較慢的指令,將影響整臺機器的執行效率,
3.2 RISC(Reduced Instruction Set Computer)
RISC是為了提高處理器運行的速度而設計的晶片體系,它的關鍵技術在于流水線操作(Pipelining):在一個時鐘周期里完成多條指令,而超流水線以及超標量技術已普遍在晶片設計中使用,RISC體系多用于非x86陣營高性能微處理器CPU,像HOLTEK MCU系列等,(現在手機平板等大多數嵌入式設備中用到的ARM—Advanced RISC Machine就是RISC架構的)
⑴ RISC體系的指令特征
精簡指令集: 包含了簡單、基本的指令,透過這些簡單、基本的指令,就可以組合成復雜指令,
同樣長度的指令: 每條指令的長度都是相同的,可以在一個單獨操作里完成,
單機器周期指令: 大多數的指令都可以在一個機器周期里完成,并且允許處理器在同一時間內執行一系列的指令,
⑵ RISC體系的優缺點
優點:在使用相同的晶片技術和相同運行時鐘下,RISC系統的運行速度將是CISC的2~4倍,由于RISC處理器的指令集是精簡的,它的記憶體管理單元、浮點單元等都能設計在同一塊晶片上,RISC處理器比相對應的CISC處理器設計更簡單,所需要的時間將變得更短,并可以比CISC處理器應用更多先進的技術,開發更快的下一代處理器,
缺點:多指令的操作使得程式開發者必須小心地選用合適的編譯器,而且撰寫的代碼量會變得非常大,另外就是RISC體系的處理器需要更快記憶體,這通常都集成于處理器內部,就是L1 Cache(一級快取),
4 常見的嵌入式(實時RTOS)作業系統
4.1 嵌入式 Linux
uClinux 是一個完全符合 GNU/GPL 公約的作業系統,完全開放代碼,現在由 Lineo 公司支持維護,uClinux 的發音是“you-see-linux”,它的名字來自于希臘字母“mu”和英文大寫字母“C”的結合,“mu”代表“微小”之意,字母“C”代表“控制器”,所以從字面上
就可以看出它的含義,即“微控制領域中的 Linux 系統”,
為了降低硬體成本及運行功耗,很多嵌入式 CPU 沒有設計記憶體管理單元(Memory Management Unit,以下簡稱 MMU)功能模塊,
uClinux 從 Linux 2.0/2.4 內核派生而來,沿襲了主流 Linux 的絕大部分特性,它是專門針對沒有 MMU 的 CPU,并且為嵌入式系統做了許多小型化的作業,適用于沒有虛擬記憶體或記憶體管理單元(MMU)的處理器,
4.2 Win CE
Windows CE 是微軟開發的一個開放的、可升級的 32 位嵌入式作業系統,是基于掌上型電腦類的電子設備操作,它是精簡的 Windows 95,Windows CE 的圖形用戶界面相當出色,

4.3 VxWorks
VxWorks 作業系統是美國 WindRiver 公司于 1983 年設計開發的一種嵌入式實時作業系統(RTOS),是嵌入式開發環境的關鍵組成部分,(VX是硬實時的,Linux是軟實時的,所以在航空等實時性要求很強的地方VX確實沒法用Linux代替,以前很貴,但現在有很多其他的RTOS,已經降價了,)

在嵌入式實時作業系統領域占據一席之地,它以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中,如衛星通訊、軍事演習、彈道制導、飛機導航等,
在美國的 F-16、FA-18 戰斗機、B-2 隱形轟炸機和愛國者導彈上,甚至連 1997 年 4 月在火星表面登陸的火星探測器上也使用到了 VxWorks,
VxWorks 的特點
-
可靠性
作業系統的用戶希望在一個作業穩定,可以信賴的環境中作業,所以作業系統的可靠性是用戶首先要考慮的問題,而穩定、可靠一直是 VxWorks 的一個突出優點,自從對中國的銷售解禁以來,VxWorks 以其良好的可靠性在中國贏得了越來越多的用戶,
-
實時性
實時性是指能夠在限定時間內執行完規定的功能并對外部的異步事件作出回應的能力, 實時性的強弱是以完成規定功能和作出回應時間的長短來衡量的, VxWorks 的實時性做得非常好,其系統本身的開銷很小,行程調度、行程間通信、中
斷處理等系統公用程式精練而有效,它們造成的延遲很短,VxWorks 提供的多任務機制中 對任務的控制采用了優先級搶占(Preemptive Priority Scheduling)和輪轉調度(Round-Robin Scheduling)機制,也充分保證了可靠的實時性,使同樣的硬體配置能滿足更強的實時性要 求,為應用的開發留下更大的余地, -
可裁減性
用戶在使用作業系統時,并不是作業系統中的每一個部件都要用到,例如圖形顯示、檔案系統以及一些設備驅動在某些嵌入系統中往往并不使用,VxWorks 由一個體積很小的內核及一些可以根據需要進行定制的系統模塊組成, VxWorks 內核最小為 8kB,即便加上其它必要模塊,所占用的空間也很小,且不失其實時、多任務的系統特征,由于它的高度靈活性,用戶可以很容易地對這一作業系統進行定制或作適當開發,來滿足自己的實際應用需要,
4.4 OSE
OSE 主要是由 ENEA Data AB 下屬的 ENEA OSE Systems AB 負責開發和技術服務的,一直以來都充當著實時作業系統以及分布式和容錯性應用的先鋒,公司建立于 1968 年,由大約 600 名雇員專門從事實時應用的技術支持作業,ENEA OSE Systems AB 是現今市場上一個飛速發展的 RTOS 供應商,在過去三年中,該公司的稅收以每年 70%的速度遞增,

4.5 Nucleus
Nucleus PLUS 是為實時嵌入式應用而設計的一個搶先式多任務作業系統內核,其 95%的代碼是用 ANSIC 寫成的,因此非常便于移植并能夠支持大多數型別的處理器,從實作角度來看,Nucleus PLUS 是一組 C 函式庫,應用程式代碼與核心函式庫連接在一起,生成一個目標代碼,下載到目標板的 RAM 中或直接燒錄到目標板的 ROM 中執行,在典型的目標環境中,Nucleus PLUS 核心代碼區一般不超過 20K 位元組大小,(提供源代碼)
4.6 eCos
eCos 是 RedHat 公司開發的源代碼開放的嵌入式 RTOS 產品,是一個可配置、可移植的嵌入式實時作業系統,設計的運行環境為 RedHat 的 GNUPro 和 GNU 開發環境,eCOS 的所有部分都開放源代碼,可以按照需要自由修改和添加,
4.7 μC/OS-II (讀作:miu cos two)
一個原始碼公開、可移植、可固化、可裁剪、占先式的實時多任務作業系統,其絕大部分原始碼是用 ANSI C 寫的,世界著名嵌入式專家 Jean J.Labrosse(μC/OS-II 的作者)出版了多本圖書詳細分析了該內核的幾個版本,μC/OS-II 通過了聯邦航空局(FAA)商用航行器認證,符合 RTCA(航空無線電技術委員會)DO-178B 標準,該標準是為航空電子設備所使用軟體的性能要求而制定的,自 1992 年問世以來,μC/OS-II 已經被應用到數以百計的產品中,uC/OS-II 在高校教學使用是不需要申請許可證的,但將μC/OS-II 的目標代碼嵌入到產品中去,應當購買目標代碼銷售許可證,

μC/OS-II 的特點
-
提供源代碼:
購買《嵌入式實時作業系統μC/OS-II(第 2 版)》可以獲得μC/OS-II V2.52版本的所有源代碼,購買此書的其它版本可以獲得相應版本的全部源代碼,
-
可移植性(portable)
μC/OS-II 的源代碼絕大部分是使用移植性很強的 ANSI C 撰寫,與微處理器硬體相關的部分是使用匯編語言撰寫,匯編語言寫的部分已經壓縮到最低的 限度,以使μC/OS-II 便于移植到其它微處理器上,目前,μC/OS-II 已經被移植到多種不同架構的微處理器上,
-
可固化(ROMmable)
只要具備合適的軟硬體工具,就可以將μC/OS-II 嵌入到產品中成為產品的一部分,
-
可剪裁(scalable)
μC/OS-II 使用條件編譯實作可剪裁,用戶程式可以只編譯自己需要的(μC/OS-II 的)功能,而不編譯不要需要的功能,以減少μC/OS-II 對代碼空間和資料空間的占用,
-
可剝奪(preemptive)
μC/OS-II 是完全可剝奪型的實時內核,μC/OS-II 總是運行就緒條件下優先級最高的任務,
-
多任務
μC/OS-II 可以管理 64 個任務,然而,μC/OS-II 的作者建議用戶保留 8 個給 μC/OS-II,這樣,留給用戶的應用程式最多可有 56 個任務,
-
可確定性
絕大多數μC/OS-II 的函式呼叫和服務的執行時間具有確定性,也就是說,用 戶總是能知道μC/OS-II 的函式呼叫與服務執行了多長時間,
-
任務堆疊
:μC/OS-II 的每個任務都有自己單獨的堆疊,使用μC/OS-II 的占空間校驗函式,可確定每個任務到底需要多少堆疊空間,
-
系統服務
:μC/OS-II 提供很多系統服務,例如信號量、互斥信號量、時間標志、訊息郵箱、訊息佇列、塊大小固定的記憶體的申請與釋放及時間管理函式等,
-
中斷管理
:中斷可以使正在執行的任務暫時掛起,如果優先級更高的任務被中斷喚醒,則高優先級的任務在中斷嵌套全部退出后立即執行,中斷嵌套層數可達 255 層,
-
穩定性與可靠性
μC/OS-II 是基于μC/OS 的,μC/OS 自 1992 年以來已經有數百個商業應用,μC/OS-II 與μC/OS 的內核是一樣的,只是提供了更多的功能,另外,2000 年 7月,μC/OS-II 在一個航空專案中得到了美國聯邦航空管理局對商用飛機的、符合 RTCA DO – 178B 標準的認證,這一結論表明,該作業系統的質量得到了認證,可以在任何應用中使用,
4 ARM體系結構
ARM 是 Advanced RISC Machines 的縮寫,是微處理器行業的一家知名企業,該企業設計了大量高性能、廉價、耗能低的 RISC 處理器、相關技術及軟體,技術具有性能高、成本低和能耗省的特點,適用于多種領域,比如嵌入控制、消費/教育類多媒體、DSP 和移動式應用等,
ARM 將其技術授權給世界上許多著名的半導體、軟體和 OEM 廠商,每個廠商得到的都是一套獨一無二的 ARM 相關技術及服務,利用這種合伙關系,ARM 很快成為許多全球性 RISC 標準的締造者,
目前,總共有 30 家半導體公司與 ARM 簽訂了硬體技術使用許可協議,其中包括 Intel、IBM、LG 半導體、NEC、SONY、菲利浦和國家半導體這樣的大公司,至于軟體系統的合伙人,則包括微軟、升陽和 MRI 等一系列知名公司,
ARM 架構是面向低預算市場設計的第一款 RISC 微處理器,
ARM 的設計實作了非常小,但是高性能的結構,ARM 處理器結構的簡單使 ARM 的內核非常小,這樣使器件的功耗也非常低,
ARM 是精簡指令集計算機(RISC),因為它集成了非常典型的 RISC 結構特性:
-
一個大的、統一的暫存器檔案
-
裝載/保存結構,資料處理的操作只針對暫存器的內容,而不直接存盤器進行操作,
-
簡單的尋址模式,所有裝載/保存的地址都只由暫存器內容和指令域決定,
-
統一和固定長度的指令域,簡化了指令的譯碼,
此外,ARM 體系結構還提供:
-
每一條資料處理指令都對算術邏輯單元(ALU)和移位器控制,以實作對 ALU 和 移位器的最大利用,
-
地址自動增加和自動減少的尋址模式實作了程式回圈的優化,
-
多暫存器裝載和存盤指令實作最大資料吞吐量,
-
所有指令的條件執行實作最快速的代碼執行,
-
這些在基本 RISC 結構上增強的特性使 ARM 處理器在高性能、低代碼規模、低功耗和 小的硅片尺寸方面取得良好的平衡,
5 參考
https://blog.csdn.net/hemoparrot/article/details/3786776
https://blog.csdn.net/wwt18811707971/article/details/80978819
《(周立功)ARM嵌入式系統基礎教程》
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/330429.html
標籤:其他
