{eval=Array;=+count(Array);}
嵌入式Linux其實范圍很廣,只以我個人經驗簡單說說。
我們簡單的把嵌入式Linux開發工作分成幾類:
Bootloader層開發
驅動層開發
根文件系統搭建
應用程序開發
其中:
Bootloader層開發和Linux關系不太大,一般用匯編語言+C語言,更類似單片機開發
應用程序開發:其實就是受一定限制的Linux應用程序開發,和嵌入式關系不大
根文件系統搭建:根據具體需求搭建一套精簡而高效的根文件系統?這就需要對各Linux發行版有所了解,對Linux常用軟件和常見的庫有一定了解,熟悉各類構建語言(如Makefile, CMake, bitbake)
驅動層開發:主要是在核心態用C+匯編語言開發特定的驅動程序,需要熟悉Linux內核架構,同時對硬件熟悉
根據題主的知識情況,從STM32單片機轉學嵌入式Linux,可能更適合在Bootloader層和驅動層深入學習。開發板可以考慮:
新唐的NUC系列(ARM926,低端)
樹莓派(算中端吧)
個人認為:比開發板更重要的是對Linux本身的熟悉,這一點在PC上就能很方便的學習了。
說的不全面,感謝閱讀!
歡迎討論具體問題。歡迎關注。
stm32確實是一個瓶頸。而且現在畢業的相關專業的學生越來越多,stm32的技術門檻和知識點確實相對容易掌握。那么在主流的電子行業對嵌入式的需求是比較大的。主要是在于Linux的廣泛運行。哪怕是安卓系統也是可以運行在Linux相同的電路開發板上的。
開發板的話就不好推薦了,有點像廣告了。
學習Linux分為兩個大方向,底層驅動和上層運用,這也是操作系統的特點。底層涉及驅動系列,對于硬件有比較直接的相關性。而應用幾乎和硬件沒他大的關系,主要掌握的是如何使用Linux操作系統,涉及各種指令,可以看 很多Linux運用的書籍。進而寫一些基于Linux GCC的程序來熟悉這個。可以玩一玩樹莓派板子,這個資料比較多,可玩性,掌握知識是很有幫助的。最近出了新版的,可以備一個用來學習Linux。
而底層是比較枯燥的,需要投入比較多。主要是驅動層比較難,所以需求很多,不愁找不到工作。僅僅會單片機已經確實不太有很大的競爭力了。底層需要掌握很多知識,隨便去買一個比較流行的開發板就行了,主要是資料多,不懂的好找到人來問。否則自己一個人遇到卡殼的就很慢了。可以看看原子的,stm32你應該知道他很出名,打算出Linux開發板了。
我目前只會各類單片機及電路板的設計,當然也自學了服務器后端的簡單使用,以及網站前端開發,Android APP開發,IOS還沒怎么學,時間不那么豐富。你趁著畢業前三年的業余時間,學習一下是很不錯的,時間相對多一點,但是也需要靠自覺性,畢竟你的同事可能都在打游戲,你能堅持走下去嗎?
技術工作是非常枯燥的,希望你能有找到自己的方向,多積累,多思考。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答