嵌入式系統1

1.什麼是嵌入式技術?

嵌入式技術是以應用爲中心,以計算機技術爲基礎的系統技術。它初起源於單片機技術,是各類數字化的電子、機電產品的核心,主要用於實現對硬件設備的控制、監視或管理等功能。

2.嵌入式軟件和非嵌入式軟件區別

我認爲嵌入式軟件與非嵌入式軟件(設備驅動開發與裸機驅動開發/嵌入式開發與傳統單片機開發)的最大的區別就是有無操作系統。
對於無操作系統的開發:

應用軟件與驅動的耦合度過高,一旦硬件發生變化那麼相對應的驅動也會發生變化,緊接着應用程序也需要做相應的修改,這樣帶來的後果就是我們應用程序的可移植性很差。

無操作系統的系統結構比較單一、功能簡單,只能提供單任務機制而且一般軟件架構通常都是在一個無限循環中對設備中斷進行檢測或者輪詢。

它的接口驅動是不進過操作系統直接提交給軟件工程師應用。
對於有操作系統的開發:

有操作系統的存在則大大降低了應用軟件與硬件平臺的耦合度,它充當了我們硬件與應用軟件之間的紐帶,使得應用軟件只需要調用系統軟件的應用程序接口API就可以讓硬件去完成要求的開發,而應用軟件則不需要關心硬件到底是如何工作的。這將大大提高我們應用程序的可移植性和開發效率。同時操作系統還有強大的任務調度機制(進程線程),支持多任務。

3.嵌入式開發與單片機開發的區別

1、單片機與嵌入式在系統組成結構上的區別:

(1)單片機基本結構

單片機由運算器、控制器、存儲器、輸入輸出設備構成。

(2)嵌入式系統成部分

嵌入式系統一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統、特定的應用程序組成。

嵌入式系統設計的第一步是結合具體的應用,綜合考慮系統對成本、性能、可擴展性、開發週期等各個方面的要求,確定系統的主控器件,並以之爲核心搭建系統硬件平臺。

2、單片機與嵌入式在硬件組成上的區別

單片機是在一塊集成電路芯片中包含了微控制器電路,以及一些通用的輸入輸出接口器件。從構成嵌入式系統的方式看,根據現代電子技術發展水平,嵌入式系統可以用單片機實現,也可以用其它可編程的電子器件實現。其餘硬件器件根據目標應用系統的需求而定。

3、單片機與嵌入式在軟件組成上的區別

製造商出廠的通用單片機內沒有應用程序,所以不能直接運行。增加應用程序後,單片機就可以獨立運行。嵌入式系統一定要有控制軟件,實現控制邏輯的方式可以完全用硬件電路,也可以用軟件程序。

4、單片機與嵌入式在主次關係方面的區別

單片機現在已經被認爲是通用的電子器件了,單片機自身爲主體。嵌入式系統在物理結構關係上是從屬的,嵌入式系統被嵌入安裝在目標應用系統內。嵌入式系統在控制關係上卻是主導的,是控制目標應用系統運行的邏輯處理系統。儘管可以用不同方式構成嵌入式系統,但是一旦構成之後,嵌入式系統就是一個專用系統。專用系統中,可編程器件的軟件可以在系統構建過程中植入,也可以在器件製造過程中直接生成,以降低製造成本。控制邏輯複雜的單片機會需要操作系統軟件支持;控制邏輯簡單的嵌入式系統也可以不用操作系統軟件支持

4.嵌入式開發的優缺點

1)可裁剪性。支持開放性和可伸縮性的體系結構。

2)強實時性。EOS實時性一般較強,可用於各種設備控制中。

3)統一的接口。提供設備統一的驅動接口。

4)操作方便、簡單、提供友好的圖形GUI和圖形界面,追求易學易用。提供強大的網絡功能,支持TCP/IP協議及其他協議,提供TCP/UDP/IP/PPP協議支持及統一的MAC訪問層接口,爲各種移動計算設備預留接口。

5)強穩定性,弱交互性。嵌入式系統一旦開始運行就不需要用戶過多的干預、這就要負責系統管理的EOS具有較強的穩定性。嵌入式操作系統的用戶接口一般不提供操作命令,它通過系統的調用命令向用戶程序提供服務。

6)固化代碼。在嵌入式系統中,嵌入式操作系統和應用軟件被固化在嵌入式系統計算機的ROM中。

7)更好的硬件適應性,也就是良好的移植性。

8)嵌入式系統和具體應用有機地結合在一起,它的升級換代也是和具體產品同步進行,因此嵌入式系統產品一旦進入市場,具有較長的生命週期。

嵌入式開發方向

嵌入式上層應用軟件開發:精通一門語言;熟悉一款操作系統;數據結構/算法。
嵌入式底層系統軟件開發:精通C語言;理解操作系統的實現;熟悉硬件的工作原理;熟悉彙編。
嵌入式系統工程師;

嵌入式系統組成

作業:CPU體系結構的種類、特點及應用場景?

RISC(精簡指令集計算機)是一種執行較少類型計算機指令的微處理器,起源於80年代的MIPS主機(即RISC機),RISC機中採用的微處理器統稱RISC處理器。這樣一來,它能夠以更快的速度執行操作(每秒執行更多百萬條指令,即MIPS)。因爲計算機執行每個指令類型都需要額外的晶體管和電路元件,計算機指令集越大就會使微處理器更復雜,執行操作也會更慢。

性能特點一:由於指令集簡化後,流水線以及常用指令均可用硬件執行;

性能特點二:採用大量的寄存器,使大部分指令操作都在寄存器之間進行,提高了處理速度;

性能特點三:採用緩存—主機—外存三級存儲結構,使取數與存數指令分開執行,使處理器可以完成儘可能多的工作,且不因從存儲器存取信息而放慢處理速度。

其中ARM/MIPS/PowerPC均是基於精簡指令集機器處理器的架構;
X86則是基於複雜指令集的架構,Atom是x86或者是x86指令集的精簡版。
根據各種新聞,Android在支持各種處理器的現狀:

ARM系列處理器

ARM架構,過去稱作進階精簡指令集機器(Advanced RISC Machine,更早稱作:Acorn RISC Machine),是一個32位精簡指令集(RISC)處理器架構,其廣泛地使用在許多嵌入式系統設計。由於節能的特點,ARM處理器非常適用於行動通訊領域,符合其主要設計目標爲低耗電的特性。

在今日,ARM家族佔了所有32位嵌入式處理器75%的比例,使它成爲佔全世界最多數的32位架構之一。ARM處理器可以在很多消費性電子產品上看到,從可攜式裝置(PDA、移動電話、多媒體播放器、掌上型電子遊戲,和計算機)到電腦外設(硬盤、桌上型路由器)甚至在導彈的彈載計算機等軍用設施中都有他的存在。在此還有一些基於ARM設計的派生產品,重要產品還包括Marvell的XScale架構和德州儀器的OMAP系列。

優勢:價格低;能耗低;

x86系列/Atom處理器

xx86或80x86是英代爾Intel首先開發製造的一種微處理器體系結構的泛稱。
x86架構是重要地可變指令長度的CISC(複雜指令集電腦,Complex Instruction Set Computer)。

Intel Atom(中文:凌動,開發代號:Silverthorne)是Intel的一個超低電壓處理器系列。處理器採用45納米工藝製造,集成4700萬個晶體管。L2緩存爲512KB,支持SSE3指令集,和VT虛擬化技術(部份型號)。

現時,Atom處理器系列有6個型號,全部都是屬於Z500系列。它們分別是Z500、Z510、Z520、Z530、Z540和Z550。最低端的Z500內核頻率是800MHz,FSB則是400MHz。而最高速的Z550,內核頻率則有2.0GHz,FSB則是533MHz。從Z520開始,所有的處理器都支持超線程技術,但只增加了不到10%的耗電。雙內核版本爲N系列,依然採用945GC芯片組。雙內核版本仍會支持超線程技術,所以系統會顯示出有4個邏輯處理器。這個版本的兩個內核並非採用本地設計,只是簡單的將兩個單內核封裝起來。

MIPS系列處理器

MIPS是世界上很流行的一種RISC處理器。MIPS的意思是「無內部互鎖流水級的微處理器」(Microprocessor without interlocked piped stages),其機制是儘量利用軟件辦法避免流水線中的數據相關問題。它最早是在80年代初期由斯坦福(Stanford)大學Hennessy教授領導的研究小組研製出來的。MIPS公司的R系列就是在此基礎上開發的RISC工業產品的微處理器。這些系列產品爲很多計算機公司採用構成各種工作站和計算機系統。

PowerPC系列處理器

PowerPC 是一種精簡指令集(RISC)架構的中央處理器(CPU),其基本的設計源自IBM(國際商用機器公司)的IBM PowerPC 601 微處理器POWER(Performance Optimized With Enhanced RISC;《IBM Connect 電子報》2007年8月號譯爲「增強RISC性能優化」)架構。二十世紀九十年代,IBM(國際商用機器公司)、Apple(蘋果公司)和Motorola(摩托羅拉)公司開發PowerPC芯片成功,並製造出基於PowerPC的多處理器計算機。PowerPC架構的特點是可伸縮性好、方便靈活。

PowerPC 處理器有廣泛的實現範圍,包括從諸如 Power4 那樣的高端服務器 CPU 到嵌入式 CPU 市場(任天堂 Gamecube 使用了 PowerPC)。PowerPC 處理器有非常強的嵌入式表現,因爲它具有優異的性能、較低的能量損耗以及較低的散熱量。除了象串行和以太網控制器那樣的集成 I/O,該嵌入式處理器與「臺式機」CPU 存在非常顯著的區別。

實時性(Real Time)DSP架構

DSP是微處理器的一種,這種微處理器具有極高的處理速度.因爲應用這類處理器的場合要求具有很高的實時性(Real Time)。比如通過移動電話進行通話,如果處理速度不快就只能等待對方停止說話,這一方纔能通話。如果雙方同時通話,因爲數字信號處理速度不夠,就只能關閉信號連接.在DSP出現之前數字信號處理只能依靠MPU(微處理器)來完成。但MPU較低的處理速度無法滿足高速實時的要求。

5. 嵌入式操作系統的選擇?實時性的劃分

第一是應用。如果你想開發的嵌入式設備是一個和網絡應用密切相關或者就是一個網絡設備,那麼你應該選擇用嵌入式Linux或者uCLinux,而不是uC/OS-II。

第二是實時性。沒有一個絕對的數字可以告訴你什麼是硬實時,什麼是軟實時,他們之間的界限也是十分模糊的,這與你選擇什麼樣的CPU,它的主頻、內存等參數有一定關係。如果你使用加入實時補丁等技術的嵌入式Linux,如Monta Vista Linux(2.4.17版本),最壞的情況只有436微秒,而99.9%的情況是195微秒以內。考慮到最新的Linux在實時性方面的改進,它可以適合於90~95%的各種嵌入式系統應用。當然,你如果希望更快的實時響應,如高速A/D轉換需要幾個微秒以內的中斷延時,可能採用uC/OS-II是合適的。當然,採用像Vxworks這樣傳統的嵌入式操作系統也可以滿足這樣的強實時性要求。

實時性:實時系統的典型定義如下:「所謂實時系統,就是系統中計算結果的正確性不僅取決於計算邏輯的正確性,還取決於產生結果的時間。如果完成時間不符合要求,則可以說系統發生了問題。」也就是說,不管實時應用程序進行的是何種任務,它不僅需要正確進行該任務而且還必須及時完成它。
在這裏插入圖片描述
無實時:Linux

6.嵌入式系統的應用行業

在這裏插入圖片描述