你點擊藍字關注,回復“入門資料”獲取單片機入門到高級開掛教程
文 |?無際(微信:603311638)
全文約1186字,閱讀大約需要?3?分鐘
這個問題,核心還是得看你用什么芯片方案!
嵌入式系統涉及技術棧特別龐大,不僅僅大家理解的ARM+Linux而已。
我從業11年,也只敢說對其中一個方向熟悉而已。
嵌入式系統中,核心單元就是整個系統的”大腦”,類似于計算機的cpu。
我不嚴謹地稱它為處理器,免得杠精噴。
不同的處理器,性能是不一樣的,從性能上分為以下幾種:

?
由不同的嵌入式處理器,又衍生出不同的職業方向,主流的有以下幾個:
1.單片機工程師
2.Linux驅動開發
3.Linux系統開發工程師
4.Linux應用工程師
5.安卓系統開發工程師
6.FPGA/DSP開發
?
不同的處理器類型程序運行方式也不一樣,不能一概而論。
我拿主流的兩種來對比:
1.嵌入式微控制器(MCU)
也就是單片機,比如8051、LPC2132、STM32等等、芯片程序存儲區都是在片內nor flash。
Nor flash能直接像內存RAM一樣尋址,所以單片機能直接從內部FLASH運行程序。
?
2.嵌入式微處理器MPU
一般就是大家所說的ARM+Linux。
但并不是所有的ARM都需要跑Linux的,STM32也屬于ARM,但是大多數都是”裸機編程”,最多跑個RTOS。
一般ARM+Linux是將程序存在外部存儲器件里,比如nand flash等等。
程序執行前,會從外部存儲(比如nand flash)中里讀取程序放入ram中運行,cpu從ram里面讀取程序和數據。
?
3.總結
是否需要搬運到ram,具體是看大家用什么芯片方案。
大家可以簡單理解成,如果你是單片機開發的,就是直接從片內nor flash讀程序執行。
如果是ARM+Linux就需要搬運到ram執行。
單片機一般幾百kb程序的項目已經挺大了,而ARM+Linux隨便都是幾十MB,這種體量的程序,用內置Nor flash的話,技術上能否實現暫且不說,成本這塊不可估量。

6.c語言回調函數的使用及實際作用詳解
7.手把手教你c語言隊列實現代碼,通俗易懂超詳細!
8.c語言指針用法詳解,通俗易懂超詳細!