職業嚮導 - 嵌入式Linux開發概述

嵌入式系統定義

從20世紀70年代起,將微型處理器“嵌入”到一個對象體系中,進行某類智能化的控制,爲了區別於通用計算機系統,將這類爲了某個“專用”的目的,而“嵌入”到對象體系中的計算機系統,稱爲嵌入式計算機系統,簡稱嵌入式系統。

嵌入式設備定義

除電腦、超級計算機等具備強大計算能力及系統資源的等電子系統之外,凡具備計算能力的設備都可稱爲嵌入式設備。

嵌入式系統的特點

  • <1>.軟件、硬件可裁剪。
  • <2>.對功能、可靠性、成本、體積、功耗嚴格要求。

嵌入式技術的發展歷史

通用計算機系統的技術要求是高速、海量的數值計算;技術發展方向是總線速度的無限提升,存儲容量的無限擴大。
嵌入式計算機系統的技術要求這是對象的智能化控制能力;技術發展方向是與對象系統密切相關的嵌入性能、控制能力於控制的可靠性。

  • <1>.SCM(Single Chip Microcomputer)
    簡稱單片機,將CPU、RAM、ROM、定時器和多種I/O接口集成在一片芯片上,形成芯片級的計算機。

  • <2>.MCU(Micro Controller Unit)
    簡稱微控制器,實際上,MCU、SCM之間的概念在日常工作總並不嚴格區分,隨着能夠運行更復雜軟件的SoC的出現,“單片機”通常是指不運行操作系統、功能相對單一的嵌入式系統,但這不是絕對的,例如8051可以運行RTX51實時操作系統,系統大小僅此6kB。

  • <3>.SoC(System on a Chip)
    簡稱片上系統,是一個芯片上由於廣泛使用於預定製模塊IP(Intellectual Property)而得以快速開發的集成電路。

基於ARM處理器的嵌入式Linux系統

<1>.ARM處理器介紹

  • 1.ARM的概念
    嵌入式處理器種類繁多,由ARM、MIPS、PPC、FPGA等多種架構。ARM(Advanced RISC Machine),既可以認爲是一個公司的名字,也可以認爲是對以內微處理器的通稱,還可以認爲是一種技術的名字。ARM公司是32位嵌入式RISC微處理器技術的領導者,自從1990年創辦公司以來,基於ARM技術IP核的處理器的銷售量已經超過了100億,該公司不生產芯片,而是出售芯片技術授權。
  • 2.ARM體系架構版本
    ARM體積架構的版本就是它所使用的指令集的版本。ARM架構支持32位的ARM指令集核16位的Thumb指令集,後者是的代碼的存儲空間大大減小。還提供了一些擴展功能,比如Java加速器(Jazelle)、用以提高安全性能的TrustZone技術、智能能源管理(IEM,Intelligent Energy Manager)、SIMD和NEONTM等技術。
    還在使用的ARM指令集(ISA,Instruction Set Architecture)有以下版本。
Instruction Set

a) ARMv4
只支持32位的指令集,支持32位的地址空間,一些ARM7系列的處理器和Intel公司的StrongARM處理器採用ARMv4指令集

b) ARMv4T
增加了16位Thumb指令集,可以節省超過35%的存儲空間,同時具備32位代碼的所有優點

c) ARMv5TE
改進了Thumb指令集,增加了一些“增強型DSP指令”,簡稱位E指令集

d) ARMv5TEJ
增加了Jazelle技術用於提供Java加速功能。相比於僅用軟件實現的Java虛擬機,Jazelle技術是的Java代碼的運行速度提高8位,同時功耗降低了80%,該技術是的可以在一個單核的處理器上運行Java程序、已建立好的操作系統和應用程序

e) ARMv6
2001年問世,對存儲系統、異常處理、尤其是對多媒體功能的支持,包含了一些媒體指令以支持SIMD媒體功能拓展,SIMD媒體功能擴展爲音頻/視頻的處理提供了優化功能,可以使音頻/視頻的處理性能提高4倍,還引入了Thumb-2和TrustZone技術,Thumb2技術添加了混合模式的功能,定義了一個新的32位指令集,可以運行32位指令於傳統16位指令的混合代碼。者能夠提供“ARM指令級別的性能”與“Thumb指令的代碼密度”。
而TrustZone技術在硬件上提供了兩個隔離的地址空間:安全域(secure world)和非安全域(non-secure world),給系統提供了 一個安全機制

f) ARMv7
使用Thumb-2技術,還使用了NEONTM技術,將DSP和媒體處理能力提高近4倍,並支持改良的浮點運算,滿足下一代3D圖形,遊戲物理應用以及傳統嵌入式控制應用的需求

  • 3.ARM處理器系列
在相同指令集下,他配不同不見就可以組裝出具有不同功能的處理器,比如有無內存管理單元、有無調試功能等。它們可以分爲8系列。系列名中有7個後綴,可以組合:

T:表示支持Thumb指令集。

D:表示支持片上調試(Debug)。

M:表示內嵌硬件乘法器(Multiplier)。

I:支持片上斷電和調試點。

E:表示支持增強型DSP功能。

J:表示支持Jazelle技術。

S:表示全合成式(full synthesizable)。

處理器系列有以下8種:

a)ARM7
採用32位低功耗RISC架構,最高可達到130MIPS,支持Thumb16位指令集和ARM32位指令集,包括下列核:
ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ-S

b)ARM9
站在ARM9的基礎上,添加了MMU和Cache。最高可達到300MIPS,包括下列核:
ARM920T、ARM922T

c)ARM9E
在單一的處理器內核上提供了微控制器、DSP、Java應用系統的解決方案,極大的減少了芯片的面積和系統的複雜程度。包括下列核:
ARM926EJ-S、ARM946E-S、ARM966E-S、ARM968E-S、ARM966HS

d)ARM10E
具有傑出的高性能、低功耗特點,由於使用了新的體系結構,導致擁有了ARM系列中最高的主頻。採用了一種新的省電模式,支持“64-bit load-store micro-architecture”,含有浮點運算協處理器,同時符合IEEE754標準,支持向量運算,包括下列核:
ARM1020E、ARM1022E、ARM1026EJ-S

e)ARM11
是ARMv6的第一代設計實現。出色的媒體處理能力和低功耗特點特別適用於無線和消費類電子產品,同時高數據吞吐量和高性能的結合非常適合網絡處理應用,包括下列核:
ARM11 MPCore、ARM1136J(F)-S、ARM1156T2(F)-S、ARM1176JZ(F)-S

f)Cortex
基於ARMv7架構,分爲Cortex-A、Cortex-R和Cortex-M。
Cortex-A爲傳統的、基於虛擬存儲的操作系統和應用程序而設計,支持ARM、Thumb和Thumb-2指令集。
Cortex-R針對實時系統設計,支持ARM、Thumb和Thumb-2指令集。
Cortex-M對價格敏感的產品設計,只支持Thumb-2指令集

g)SecurCore
專門爲安全需要而設計,提供了完善的32爲RISC技術的安全解決方案,包括下列核:
SecurCore SC100、SecurCore SC200。

h)OptimoDE Data Engines
是一個新的IP核,針對高性能的嵌入式信號處理應用而設計

  • 4.嵌入式操作系統(常見)

    a) VxWorks
    美國WindRiver公司開發的嵌入式實時操作系統。
    優點:具有可裁剪的微內核結構、高效的任務管理、靈活的任務間通訊、微秒級的中斷處理,支持POSIX 1003.1b實時擴展標準,支持多種物理介質及標準、完整的TCP/IP網絡協議等
    缺點:支持的硬件相對較少,並且源代碼不開放,要專門的技術人員進行開發和維護,並且授權費比較高

    b) Windows CE
    微軟公司針對嵌入式設備開發的32位、多任務、多線程的操作系統,支持x86、ARM、MIPS、SH等架構的CPU。
    優點:硬件驅動程序豐富、強大的多媒體功能、可靈活裁剪以減小系統體積,應用開發、調試便利。
    缺點:源代碼不開放,開發人員難以進行更細緻的定製;佔用比較多的內存,整個系統相對龐大;版權許可費比較高。

    c) uC/OS-II
    Micrium公司開發的操作系統。僅僅是一個實時內核,用戶需要完成其他更多的工作,比如硬件驅動程序,文件系統操作等。
    優點:可用於8、16、32位處理器,可裁剪,對硬件要求低。
    缺點:調度方式位搶佔式,總是運行最高優先級的就緒任務。

    d) Linux
    由學生Linus首先編寫的一款操作系統,遵循GPL協議開放源碼。
    優點:幾乎支持所有32位、64位CPU;內核中支持的硬件種類繁多,幾乎可以從網絡上找到所有硬件驅動程序;支持所有網絡協議;提供大量的開發、編譯、調試工具,均遵循GPL協議;有龐大的開發人員羣體,和衆多的技術論壇。
    缺點:Linux Kernel 2.6版本以前缺少實時性。但是在很多變種的Linux中做了很大的改進,例如:TimeSys Linux。

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