如果你之後想從事嵌入式行業,根據自己經驗,我覺得可以從以下幾個方面入手:
1. 學會linux 系統下的應用程式開發,這裡以簡單的
hello.c
為例 ,假設你已經安裝了Linux 虛擬機器了。
編譯:
執行:
一個十分簡單的Linux應用程式就開發出來了,當然不要Linux應用程式開發很簡單,涉及到具體應用和演算法,程式可以寫的很複雜。
在應用程式開發的時候,Linux核心對你來說就是個黑匣子,只需要使用核心提供的功能即可。
2. 熟悉Linux應用程式開發後,建議嵌入式開發板,這裡我不指定哪款開發板,以免有打廣告的嫌疑。熟悉一下裸機驅動開發,所謂裸機驅動開發,優點類似微控制器開發。主要熟悉暫存器配置等相關。
3. 如果第二步熟悉的話,那就開始研究基於Linux 作業系統下的驅動開發吧(主要涉及圖中的字元裝置/塊裝置驅動).
4. 開始研究Linux核心吧,核心內容太多了(下圖是核心提供的功能)。
核心主要分為以下幾個大塊:程序管理,記憶體管理,虛擬檔案系統,網路協議棧,裝置驅動。如果你想深入研究的話,每一個都需要傾注精力認真學習。
5. 當然還有Linux的安全機制等等。。。
這個還是以後再談吧。
如果你之後想從事嵌入式行業,根據自己經驗,我覺得可以從以下幾個方面入手:
1. 學會linux 系統下的應用程式開發,這裡以簡單的
hello.c
為例 ,假設你已經安裝了Linux 虛擬機器了。
編譯:
執行:
一個十分簡單的Linux應用程式就開發出來了,當然不要Linux應用程式開發很簡單,涉及到具體應用和演算法,程式可以寫的很複雜。
在應用程式開發的時候,Linux核心對你來說就是個黑匣子,只需要使用核心提供的功能即可。
2. 熟悉Linux應用程式開發後,建議嵌入式開發板,這裡我不指定哪款開發板,以免有打廣告的嫌疑。熟悉一下裸機驅動開發,所謂裸機驅動開發,優點類似微控制器開發。主要熟悉暫存器配置等相關。
3. 如果第二步熟悉的話,那就開始研究基於Linux 作業系統下的驅動開發吧(主要涉及圖中的字元裝置/塊裝置驅動).
4. 開始研究Linux核心吧,核心內容太多了(下圖是核心提供的功能)。
核心主要分為以下幾個大塊:程序管理,記憶體管理,虛擬檔案系統,網路協議棧,裝置驅動。如果你想深入研究的話,每一個都需要傾注精力認真學習。
5. 當然還有Linux的安全機制等等。。。
這個還是以後再談吧。