學嵌入式為什麼要學Linux

2021-09-25 11:59:23 字數 1212 閱讀 5132

2023年04月08日 16:04:49 lmikic 閱讀數 3098

首先,arm只是乙個32位處理器,可以像51微控制器一樣用彙編直接操作它的暫存器、ram、rom等內部資源,當然也可以用c語言!那麼如果只是把arm當做微控制器來用,那就有點大材小用了,那也就沒必要學什麼linux了。

事實上,arm是通常都是用來做比較複雜的系統的,而且一般都是多工系統的,當任務比較多,程式比較大的時候,只用彙編和c可怕難以勝任,所以我們應該給arm配乙個作業系統,用來管理這些任務,那麼對於arm,我們可以作使用哪些作業系統呢?windows xp行嗎?當然不行,太大了,不適合做嵌入式,微軟倒是推出了專門針對嵌入式系統開發的wince,可是這可不是免費的,而且不提供原始碼的,給你就像乙個黑夾子,對於一般的嵌入式學習,就不太合適了?那麼什麼樣的作業系統才能用於做嵌入式呢?嵌入式作業系統通常有vxworks,wince,uc/os,linux/uclinux等。而uc/os、linux因為其免費,而且開源,深受學習者和小公司的歡迎。

uc/os作業系統核心很小,特別適合初學,而且它是佔先式核心,是乙個實時的作業系統,特別適合實時性要求較高的場合,其核心很小當然其功能當然也就沒有linux強大,而且uc/os的圖形使用者介面(gui)還是剛有雛形,沒有linux的gui好,而它的gui是收費的。這樣的話只是linux是最好了,但是linux本身不是實時的作業系統,不適合實時性高的場合,於是uclinux產生了,uclinux是乙個實時作業系統(rtos),因此學習arm+uclinux的人較多。

所以,如果只搞uc/os+arm,那就可以不學linux了,如果想學習arm+uclinux,要在arm上移植linux,那麼移植後,這個裝有linux的arm處理器,當然只能執行linux環境下編譯出來的應用程式(這裡還有乙個交叉編譯的概念需要正確理解),所以理所當然要學linux。通常小紅帽red hat linux 使用比較廣泛,那麼不能在windows下開發arm+uclinux嗎?其實倒是可以在windows使用虛擬機器軟體vmware裝乙個linux。

嵌入式 linux 最主要的工作是讓目標板能啟動 linux 系統,啟動 linux 系統的核心工作就是啟動 linux 核心,啟動 linux 核心的核心工作就是讓這個 linux 核心能支援你這個裝置,linux 核心能支援你這個裝置的前提就是 linux 核心經過你的改進後確實能啟動,你改進核心的前提就是你會 linux 核心。 你要是學嵌入式 wince ,你同樣要學 wince ,和學 linux 核心的主要學習內容一樣。當然針對性不同。

學嵌入式為什麼要學Linux

首先,arm只是乙個32位處理器,可以像51微控制器一樣用彙編直接操作它的暫存器 ram rom等內部資源,當然也可以用 語言!那麼如果只是把arm當做微控制器來用,那就有點大材小用了,那也就沒必要學什麼linux了。事實上,arm是通常都是用來做比較複雜的系統的,而且一般都是多工系統的,當任務比較...

我學嵌入式

現在我讀的專業是嵌入式,什麼是嵌入式?大家都知道軟體和硬體,以後的生活 現在也已經開始 將是乙個較為簡易的模式,就是你拿起自己的手機或者其他裝置,利用安裝好的軟體去直接控制各種器件,幾乎不需要你本人去操作。那麼什麼使得你可以利用軟體去控制這些硬體呢?誒,既然人不需要去操作,必須有東西去為你操作對吧,...

學程式為什麼要學英語?

首先,你不會英語也能上手程式設計,但是你為什麼要去學英語呢?人是利益驅動的,看看學英語帶來的好處,就能理解為什麼要去學英語了。獲取高質量的學習資源 絕大多數高質量的計算機學習資源都是英文。國內的多數資源都是 二手 的。無損 及時的資訊獲取 大多數計算機經典圖書原版都是英文,我們所看的中文版都是二手加...