華夏說 嵌入式

2021-08-28 05:47:30 字數 1938 閱讀 2660

其實,一直以來,嵌入式都是乙個比較複雜的技術概念,目前國內外關於嵌入式系統尚無嚴格、統一的定義。

根據美國ieee的定義,嵌入式系統是用於控制、監視或輔助操作機器和裝置的裝置。

那麼,51微控制器算不算是嵌入式呢?

這個問題之前折騰了我好長一段時間,還跟別人爭執過。

但是,你看上面的定義,51微控制器就屬於嵌入式。

嵌入式系統一般有嵌入式微處理器、外圍硬體裝置、嵌入式作業系統以及使用者應用軟體四個部分組成。

其中嵌入式微處理器的體系結構可以採用馮 -諾依曼體系結構或者哈佛體系結構,指令系統可以選用精簡指令集系統(risc)和複雜指令集系統(cisc)。馮-諾依曼與哈佛的體系最大的不同就是在於,前者其程式和資料共用乙個儲存空間,而後者是將程式和資料儲存在不同的儲存空間中。而關於指令系統,cisc更加專注於高效能但同時也需要高功耗,而後者(risc)則專注於小尺寸低功耗的領域。

所以,一般嵌入式系統用的都是risc。

為什麼?

因為嵌入式裝置自出生以來,本來就是用在某一領域的,它既繼承了計算機特有的一些功能,又裁剪了除此之外大部分不需要用到的功能。可以說,相對計算機,嵌入式裝置只針對於某一方面,而計算機是針對於全域性而言。

再來說說目前嵌入式微處理器的主要系列,有arm7、arm9、arm10、arm11、arm cortex等。

當然,在arm7之前還有其他arm系列的,但是由於市場上目前主流的是arm7及arm7以後的,所以前面的我們就不說了。

arm7 ,32位核,採用的是**流水線和馮-諾依曼體系結構,armv3或armv4架構;一般來說跑作業系統比較吃力;arm9,armv4或armv5架構,五級流水線,哈佛體系;由於結構不同,arm7的執行效率低於arm9。

此外,arm7一般沒有mmu(記憶體管理單元),(arm720t有mmu)。arm9一般是有mmu的,arm9940t只有mpu ,但不是乙個完整的mmu。

這一條很重要,mmu單元是大型作業系統必需的硬體支援,如linux;wince等。這就是說,arm7一般只能執行小型的實時系統如ucos-ii,ecos等,而arm9無此限制,一般的作業系統都可以移植。其實即使arm720t能支援linux;wince等系統,也鮮有人用,因為以arm7的執行速度跑這種大型作業系統,實在有點吃力。

再來說一下arm10,為什麼會有arm10而沒有聽說過arm8呢?

其實,都是有的;只是,arm8與arm7沒有發生本質上的區別,arm10相比於arm9也是,所以,很少提及。

這裡再說一下arm9e,雖然它也是屬於arm9系列的,但與arm還是有了很大的區別,就是arm9e系列微處理器提供了增強的dsp處理能力,很適合於那些需要同時使用dsp和微控制器的應用場合。

接下來就是arm11了,armv6架構,8/9級流水線,以32位的成本提供64位處理器效能。為多**應用的開發和推廣打下了堅實的基礎。

那麼有沒有arm12,arm13呢?

沒有了。

因為後面arm公司(arm既是一門技術的泛稱,也同時代指一家公司)由於armv-6開始之後,引進了許多突破性的新技術,儲存器系統增加了很多嶄新的特性,如單指令多資料流(simd)指令;所以,arm公司進一步擴充套件了其cpu的設計,推出了armv-7體系結構處理器。而且,在armv7版本中,核心結構首次從單一的款式變成了三種。

1.armv7-a:支援大型嵌入式作業系統,追求其高效能,使其越來越接近於一台計算機。其產品包含了高階的手機,手持儀器,電子錢包和金融事務處理機等;

2.armv7-r:主要追求的是帶有實時應用的嵌入式系統,典型的應用在於大型發電機的控制器,機械人手臂控制器等;

3.armv7-m:其用於深度嵌入的微控制器或mcu風格的系統中;追求低成本,低功耗,極速中斷反應以及高處理效率,例如stm32中的arm cortex m3就屬於這一類。

那麼,cortex-m3跑得了系統嗎?

答案是可以的,但是跑不了linux這類大型的,但是對於 c/os-ⅱ和freertos還是綽綽有餘的。

以上就是我對於嵌入式的一些了解,希望對你們有所幫助。

初識嵌入式 嵌入式開發概述

1 什麼是嵌入式技術 1 嵌入式軟體與非嵌入式軟體的區別?答 嵌入式軟體是結合作業系統之上做的開發 非嵌入式軟體是做的裸機開發。裸機 沒有作業系統 2 嵌入式開發與微控制器開發的區別?答 區別 是否有作業系統。拓展 答 優點 解決了軟體的移植性 解決了開發人員的能力的劃分問題。提供了豐富的網路協議 ...

如何學習嵌入式 嵌入式如何入門?

學習嵌入式,該學習什麼基本的知識呢?嵌入式如何入門?其次,應該對作業系統有所了解,這對你對硬體和軟體的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如程序 執行緒,系統如何來分配資源的,系統如何來管理硬體的,當然,不是看書就能把這些理解透,如果不是一時能理解,沒關係,多看看,結合以後的專案經驗...

非嵌入式與嵌入式的區別

非嵌入式是通過軟體控制硬體,軟硬體之間直接聯絡來實現要求。但是一旦硬體發生改變軟體也要改變,為了降低這種偶合度過高的問題,出現了嵌入式。嵌入式在軟體和硬體之間新增了作業系統,軟體通過控制作業系統進而控制硬體,硬體發生改變並不會導致軟體也發生改變,這為軟體開發人員節約了很多時間,並且嵌入式能在已有的硬...