|
你可以嘗試以下路線(xiàn):
(1) C語(yǔ)言是所有編程語(yǔ)言中的強者,單片機、DSP、類(lèi)似ARM的種種芯片的編程都可以用C語(yǔ)言搞定),因此必須非常熟練的掌握。
推薦書(shū)籍:《The C Programming Language》 這本經(jīng)典的教材是老外寫(xiě)的,也有中譯版本。
(2) 操作系統原理,是必需的,如果你是計算機專(zhuān)業(yè)畢業(yè)那也就無(wú)所謂了,如果是非計算機專(zhuān)業(yè)的就必須找一本比較淺顯的計算機原理書(shū)籍看一看,把啥叫“進(jìn)程”“線(xiàn)程”“系統調度”等等基本問(wèn)題搞清楚。
(3)Linux操作系統就是用C語(yǔ)言編寫(xiě)的,所以你也應該先學(xué)習下Linux方面的編程,只有你會(huì )應用了,才能近一步去了解其內核的精髓。
推薦書(shū)籍:《UNIX環(huán)境高級編程》(第2版)
(4) 了解ARM的架構,原理,以及其匯編指令,我們在嵌入式開(kāi)發(fā)中,一般很少去寫(xiě)匯編,但是最起碼的要求是能夠看懂a(chǎn)rm匯編。
(5) 系統移植的時(shí)候,就需要你從最下層的
bootloader開(kāi)始,然后內核移植,文件系統移植等。而移植這部分對硬件的依賴(lài)是非常大的,其配置步驟也相對復雜,也沒(méi)有太多詳細資料。
(6) 驅動(dòng)開(kāi)發(fā)
linux驅動(dòng)程序設計既是個(gè)極富有挑戰性的領(lǐng)域,又是一個(gè)博大精深的內容。
linux驅動(dòng)程序設計本質(zhì)是屬于linux內核編程范疇的,因而是對linux內核和內核編程是有要求的。在學(xué)習前你要想了解linux內核的組成,因為每一部分要詳細研究的話(huà)足夠可以擴展成一本厚書(shū)。
以上只不過(guò)是大概的框架,在實(shí)際的開(kāi)發(fā)中還會(huì )涉及很多東西,比如:交叉編譯、makefile、shell腳本等等,所以說(shuō)學(xué)習嵌入式的周期較長(cháng),門(mén)檻較高,自學(xué)的話(huà)更是需要較強的學(xué)習能力和專(zhuān)業(yè)功底。只要能堅持下來(lái)一定會(huì )取得成功!
以下課程可免費試聽(tīng)C語(yǔ)言、電子、PCB、STM32、Linux、FPGA、Python、安卓等。想學(xué)習的你和我聯(lián)系預約就可以免費聽(tīng)課了宋工QQ3524659088 Tel/V17317951908
|
|