嵌入式簡介

聲明:本文資料來源於《ARM裸機全集---朱有鵬老師


1、什麼是嵌入式

傳統定義(狹義嵌入式):嵌入式系統是以應用爲中心,以計算機技術爲基礎,並且軟硬件可裁剪,適用於應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。

當前客觀定義(泛嵌入式):除PC之外的一切計算機系統都可以叫嵌入式系統。典型代表:智能手機、工業機器人、汽車電子、航空航天(四軸飛行器)、安防監控(IPC)等。


2、嵌入式系統的技術特點
低功耗(BLE、zigbee、低功耗Wifi)
聯網化(4G、BT、zigbee、wifi)
RISC CPU(ARM、MIPS)
OS(LinuxAndroid、RTOS)
分層(底層、OS層、應用層)
跨度大、知識雜、學習曲線陡峭而綿長


3、嵌入式的主流熱點方向
消費電子(智能手機、遊戲機、可穿戴)
工業自動化(工業機器人)
汽車電子(汽車控制系統、車載定位導航、車載娛樂、自動駕駛系統)
航空航天(四軸飛行器、載人飛行器)
物聯網(智慧農業、智慧交通、智能家居······)


4、嵌入式和單片機的區別
4.1、芯片平臺
主流的單片機平臺:51、PIC、STM32、AVR、MSP430
主流的嵌入式平臺:ARM、PPC、MIPS

4.2、資源、價格、應用領域、技術特徵:
單片機:資源有限,產品價格低,應用領域有小家電(比如電飯鍋、電磁爐、豆漿機等)。
嵌入式:資源較豐富,產品價格高,應用領域有智能手機、平板電腦、智能電視機、遊戲機、智能手錶等。

4.3、開發模式
單片機:開發模式大多以裸機爲主,一些複雜的產品會用到STM32之類,並使用RTOS。
嵌入式:幾乎基於嵌入式操作系統、目前比較流行Linux、Android。

4.4、編程語言
單片機:主要使用C語言(少量用匯編),和標準C略有不同,很少使用結構體、函數指針等C語言高級特性。
嵌入式:嵌入式開發較複雜,一般分底層和應用層。底層使用C語言,應用層使用C、C++。使用C語言對結構體、數據結構算法、函數指針(用來實現面向對象)等高級特性使用比較多。

4.5、硬件組件
單片機:多涉及一些簡單外設,譬如串口、I2C、ADC、LCD(小屏幕和分辨率)。
嵌入式:涉及更多複雜外設,譬如串口、I2C、ADC、LCD、網絡(有線網卡、wifi、藍牙等)、USB、音視頻編解碼等。


5、嵌入式系統的特點:
*專用、軟硬件可裁剪可配置;
*低功耗、高可靠性、高穩定性;
*軟件代碼短小精悍;
*代碼可固化;
*實時性;
*弱交互性;
*專用開發工具及開發環境;
*專業開發人員;


6、爲何使用交叉編譯
嵌入式開發的CPU比較簡單,本身無法搭建開發環境,有些甚至操作系統都沒有。
交叉編譯可以用高性能機器爲低性能機器開發軟件(包括裸機軟件、系統級和應用級軟件)。

7、交叉編譯有什麼特點
必須使用專用的交叉編譯工具鏈。
由於可執行程序不能本地運行調試,因此必須配合一定手段(專用調試器、JTAG調試器、USB下載、串口下載、SD啓動、網絡共享等)將可執行程序加載到目標嵌入式設備上運行及調試。


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