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