要想知道什么是嵌入式,什么是單片機,我們先來看看幾個專業術語的概念?
MPU:(Microprocessor Unit)微處理器---->運行linux操作系統
高端處理器,可以運行linux操作系統,Cortex-A系列內核
MCU:Microcontroller Unit;MCU微控制單元
單片機中使用的是MCU,cortex-M系列內核
CPU:中央處理器
GPU:圖形處理器
FPU:浮點處理單元
DSP:數據信號處理
什么是嵌入式
首先,我們來看看什么是嵌入式。
嵌入式,一般是指嵌入式系統,嵌入式開發,其實就是對嵌入式系統的開發。
嵌入式系統是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適用于對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。
以應用為中心,說明嵌入式系統是有明確實際用途的,以計算機技術為基礎,說明它其實就是一種特殊的計算機,軟硬件可裁剪,說明它有很強的靈活性和可定制能力。
專用計算機系統,“專用”所對應的,就是“通用”。我們常用的個人PC、筆記本電腦、數據中心服務器,可以用于多種用途,就是“通用計算機系統”。
嵌入式系統究竟具體應用于哪些“專用”方向呢?
從生活中,看幾個實例:
個人通信與娛樂系統:手機、數碼相機、音樂播放器、可穿戴電子產品、PSP游戲機
家電類產品:數字電視、掃地機器人、智能家電
辦公自動化:打印機,復印機、傳真機
醫療電子類產品:生化分析儀、血液分析儀、CT
網絡通信類產品:通信類交換設備、網絡設備 (交換機、路由器、網絡安全)
汽車電子類產品:引擎控制、安全系統、汽車導航與娛樂系統
工業控制類產品:工控機、交互式終端 (POS、ATM)、安全監控、數據采集與傳輸、儀器儀表
軍事及航天類產品:無人機、雷達、作戰機器人
以上產品都使用了嵌入式系統。這還只是冰山一角。
可以說,嵌入式系統完完全全地包圍了我們,時刻影響著我們的工作和生活。
嵌入式系統,既然是一個計算機系統,那么肯定離不開硬件和軟件。
什么是單片機
51單片機曾經在很長時間里都是市面上最主流、應用最廣泛的單片機,占據大量的市場份額。
51單片機其實放在現在毫無技術優勢,是一種很老的技術。之所以它的生命力頑強,除了它曾經很流行之外,還有一個原因,就是英特爾公司徹底開放了51內核的版權。
所以,無論任何單位或個人,都可以毫無顧忌地使用51單片機,不用付費,也不用擔心版權風險。
此外,51單片機擁有雄厚的存量基礎和群眾基礎。很多老項目都是用的51單片機,出于成本的考慮,有時候只能繼續沿用51單片機的技術進行升級。而且,很多老一輩的工程師,都精通51單片機開發技術。所以,51單片機的生命力得以不斷延續。STM32單片機,是意法半導體公司推出的基于ARM Cortex-M內核的通用型單片機。
嵌入式和單片機的區別
從前文的介紹來看,嵌入式系統是一個大類,單片機是其中一個重要的子類。嵌入式系統像是一個完整的計算機,而單片機更像是一個沒有外設的計算機。
以前單片機包括的東西并不算多,兩者的硬件區別較為明顯。但是,隨著半導體技術的突飛猛進,現在各種硬件功能都能被做進單片機之中。所以,嵌入式系統和單片機之間的硬件區別越來越小,分界線也越來越模糊。
于是,人們傾向于在軟件上進行區分。
從軟件上,行業里經常把芯片中不帶MMU(memory management unit,內存管理單元)從而不支持虛擬地址,只能裸奔或運行RTOS(實時操作系統,例如ucos、華為LiteOS、RT-Thread、freertos等)的system,叫做單片機(如STM32、NXP LPC系列、NXP imxRT1052系列等)。而把芯片自帶MMU可以支持虛擬地址,能夠跑Linux、Vxworks、WinCE、Android這樣的“高級”操作系統的system,叫做嵌入式。
在某些時候,單片機本身已經足夠強大,可以作為嵌入式系統使用。它的成本更低,開發和維護的難度相對較小,尤其是針對一些針對性更強的應用。而嵌入式系統理論上性能更強,應用更廣泛,但復雜度高,開發難度大。