嵌入式,微控制器,ARM,Android底層開發之間的關係
很多人在問我們學這些東西能幹什麼,這些東西有什麼關係,我該學那個?
想知道這些首先得知道這些東西都試試很麼。
微控制器(Microcontrollers,亦稱MCU)包括了CPU、隨機儲存器RAM、只讀儲存器ROM、多種I/O口和中斷系統、定時器/計數器等功能整合到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。
ARM是一家公司,ARM是一種架構,ARM是一系列使用ARM核心晶片的合稱。ARM處理器是低功耗、高效能的RISC指令集處理器。ARM處理器目前包含Cortex-M、Cortex-R和Cortex-A系列滿足不同的應用需求。
嵌入式系統定義為:以應用為中心,以計算機技術為基礎,軟硬體可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。簡單理解就是除通用PC、伺服器之外滿足特定需求的計算機系統。
微控制器包含很多,如51微控制器、MSP430微控制器、PIC微控制器、AVR微控制器、Fresscale微控制器、各種Cortex-M晶片,8bit、16bit、32bit都有。主要完成一些功能相對簡單的嵌入式系統開發。
ARM架構的晶片,Cortex-M系列晶片屬於微控制器,Cortex-A系列晶片屬於SOC。一般Cortex-A系列晶片用來開發一些功能相對複雜,效能要求較高的產品。
當然不敢是基於微控制器的開發還是基於ARM的開發都屬於嵌入式開發,嵌入式開發主要包括軟硬體兩部分,硬體開發主要是電路設計,也就是平時我們看到的各種各樣的電路板,軟體開發設計比較廣,有裸機開發,有作業系統開發,有驅動開發,有應用開發,涉及不同語言,設計不同層次。
嵌入式開發設計作業系統有很多從比較簡單的uCOS、freertos、到複雜的windows CE、linux、在到現在比較火的IOS、android。當然嚴格的說IOS是Unix、android是Linux。
這裡說的android底層開發主要是android系統裡對於不同硬體適配的部分。這部分本質上是linux 應用開發,只是被龐大的android體系複雜化了。幾乎所以android產品都是ARM架構的
所以他們幾個的關係是