當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 硬件出身,學(xué)習(xí)過單片機(jī),學(xué)嵌入式以后做驅(qū)動開發(fā)直接學(xué)習(xí)ARM9,ARM11還是先學(xué)STM32
嵌入式開發(fā)工程師本身是一個以軟件為主,結(jié)合硬件進(jìn)行開發(fā)的一門工作。既要有過硬的編程能力,又要具備一定的硬件電路的分析能力。硬件出身對于后期學(xué)習(xí)驅(qū)動開發(fā)是比較有優(yōu)勢的。
以后工作想做linux驅(qū)動開發(fā),建議依然還是建議優(yōu)先學(xué)習(xí)ARM9,ARM11,但是ARM9和ARM11的處理器目前很多SOC都已經(jīng)停產(chǎn)了,現(xiàn)在更多的SOC采用的是Cortex-A系列的內(nèi)核,學(xué)習(xí)嵌入式驅(qū)動可以選擇cortex-A7,Cortex-A9內(nèi)核的處理器,常見的開發(fā)板主要有Exynos4412,IMX6,IMX7,STM32MP157都是目前比較主流學(xué)習(xí)linux驅(qū)動開發(fā)的開發(fā)板。
只要你學(xué)透了arm架構(gòu)的任何一款處理器的驅(qū)動開發(fā),上手其他arm架構(gòu)的處理器都相對是比較容易的,因為驅(qū)動開發(fā)很多地方時相通的。驅(qū)動開發(fā)對硬件架構(gòu)先不說,難度在于linux系統(tǒng),尤其是內(nèi)核。
學(xué)習(xí)ARM高端的內(nèi)核能夠更容易的掌握u-boot的移植,linux內(nèi)核的移植,根文件系統(tǒng)的移植,以及linux驅(qū)動的開發(fā),設(shè)備樹的使用。
而學(xué)習(xí)STM32開發(fā),主要是針對于一些物聯(lián)網(wǎng)終端設(shè)備的開發(fā),主要運(yùn)行的是裸機(jī)程序,或者是實時操作系統(tǒng)比如FreeRTOS。學(xué)習(xí)完STM32的開發(fā)板,在轉(zhuǎn)到linux驅(qū)動開發(fā)可能需要很長時間的適應(yīng)階段,但是相對于純小白學(xué)習(xí)linux驅(qū)動會好一些,畢竟自己有一定的硬件基礎(chǔ),掌握軟件編程是如何控制硬件的。