1.系統框架圖
對於一個嵌入式系統,最重要的當然是運算以及存儲單元,基本的嵌入式系統可以簡化成如下系統框架圖:
圖1.1 系統框架圖
對於一個嵌入式系統,我們從常見的嵌入式ARM板進行分析:(從淘寶上截取了一張最多人用的嵌入式板子,某爲6818)
圖1-2 嵌入式ARM實物圖
從中我們可以看到嵌入式ARM分爲兩塊板子,上層核心板以及下層底板,下層底板可以看到是提供各種外設硬件的接口和附加電路,最重要的還是上層核心板,上面所述的運算和存儲單元都分佈在上層核心板中。
爲什麼多了個AXP288,這是一個電源管理芯片。其他的核心單元都會在下面詳細介紹。
2.MPU
在分析各個單元之前,我們都應該提出這樣一個疑問,爲什麼需要XXX,那麼爲什麼需要MPU.
大多人都懵了,MPU是啥,其實我們並不陌生,MPU(Micro Processor Unit)微處理器,MPU可以看作是小型的CPU,屬於微機領域的CPU。CPU可以比作人的大腦,主要做運算。比如上面的ARM板使用的就是三星的S5P6818處理器
圖2-1 S5P6818處理器簡圖
從中可以看到該處理器是基於Cortex-A53內核的,屬於八核的處理器,還有各種功能接口,可以說是ARM學習入門處理中非常強大的一種了。
3.內存
爲什麼需要內存?
MPU作爲運算單元,硬盤負責存儲數據,那麼要內存幹嘛?我們可以通過兩者之間速度中看出蹊蹺。
圖3-1 CPU計算速度
圖3-2 固態硬盤讀寫速度
兩者結合使用,就會出現水桶效應,導致CPU運算速度浪費,進而引進中間橋樑。(下表單位(M/s))
圖3-3 DDR4內存讀寫速度
4.eMMC
爲什麼需要eMMC?
eMMC(Embedded Multi Media Card)也是一種使用兼容MMC協議的芯片,和MMC的區別如其名,eMMC經常被用於嵌入式環境中,而MMC一般用作外接設備的標準。eMMC = NAND flash + 控制器 + 標準封裝接口。簡而言之,eMMC是用來存儲信息的,具有掉電不丟失數據的特點。如今(2019/10/28)在高端應用場合,如手機,大多數不適用eMMC作爲存儲設備,取而代之的是ufs,具有更快的讀寫速度。
圖4-1 eMMC實物圖