IT已經(jīng)火熱了多年,并且,它會(huì)一直火下去,因?yàn)樯鐣?huì)的發(fā)展已離不開(kāi)它。粵嵌小編今天分享的嵌入式開(kāi)發(fā)學(xué)習(xí)路線(xiàn),無(wú)論是嵌入式培訓(xùn)初學(xué)者還是進(jìn)階者都是有幫助的,希望能在培訓(xùn)的道路上幫助大家。
想要要深入學(xué)習(xí)你可以嘗試以下路線(xiàn):
(1)C語(yǔ)言是所有編程語(yǔ)言中的強(qiáng)者,單片機(jī)、DSP、類(lèi)似ARM的種種芯片的編程都可以用C語(yǔ)言搞定),因此必須非常熟練的掌握。推薦書(shū)籍:《TheCProgrammingLanguage》這本經(jīng)典的教材是老外寫(xiě)的,也有中譯版本。
(2)操作系統(tǒng)原理,是必需的,如果你是計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)那也就無(wú)所謂了,如果是非計(jì)算機(jī)專(zhuān)業(yè)的就必須找一本比較淺顯的計(jì)算機(jī)原理書(shū)籍看一看,把什么叫“進(jìn)程”“線(xiàn)程”“系統(tǒng)調(diào)度”等等基本問(wèn)題搞清楚。
(3)Linux操作系統(tǒng)就是用C語(yǔ)言編寫(xiě)的,所以你也應(yīng)該先學(xué)習(xí)下Linux方面的編程,只有你會(huì)應(yīng)用了,才能近一步去了解其內(nèi)核的精髓。
推薦書(shū)籍:《UNIX環(huán)境編程》(第2版)
(4)了解ARM的架構(gòu),原理,以及其匯編指令,我們?cè)谇度胧介_(kāi)發(fā)中,一般很少去寫(xiě)匯編,但是起碼的要求是能夠看懂a(chǎn)rm匯編。
(5)系統(tǒng)移植的時(shí)候,就需要你從下層的bootloader開(kāi)始,然后內(nèi)核移植,文件系統(tǒng)移植等。而移植這部分對(duì)硬件的依賴(lài)是非常大的,其配置步驟也相對(duì)復(fù)雜,也沒(méi)有太多詳細(xì)資料。
(6)驅(qū)動(dòng)開(kāi)發(fā)linux驅(qū)動(dòng)程序設(shè)計(jì)既是個(gè)極富有挑戰(zhàn)性的領(lǐng)域,又是一個(gè)博大精深的內(nèi)容。linux驅(qū)動(dòng)程序設(shè)計(jì)本質(zhì)是屬于linux內(nèi)核編程范疇的,因而是對(duì)linux內(nèi)核和內(nèi)核編程是有要求的。在學(xué)習(xí)前你要想了解linux內(nèi)核的組成,因?yàn)槊恳徊糠?span style="line-height:1.5;">要詳細(xì)研究的話(huà)足夠可以擴(kuò)展成一本厚書(shū)。
以上粵嵌小編總結(jié)的是嵌入式開(kāi)發(fā)學(xué)習(xí)線(xiàn)路的大概框架,但是在實(shí)際的開(kāi)發(fā)中還會(huì)涉及很多東西,建議大家還是選擇培訓(xùn)班會(huì)比較省時(shí)間。畢竟嵌入式學(xué)習(xí)周期較長(zhǎng),門(mén)檻較高,自學(xué)的話(huà)更是需要較強(qiáng)的學(xué)習(xí)能力和專(zhuān)業(yè)功底。