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