首頁 > 專家說

如何才能自學嵌入式?

來源:新能源網
時間:2024-08-17 12:03:51
熱度:

如何才能自學嵌入式?【專家解說】:C語言是嵌入式最重要的基礎知識,但是掌握了它并不代表你的基礎已經很好了,嵌入式學習相關的基礎知識主要是這些:一是程序設計的基礎,例如:基本的編程語

【專家解說】:C語言是嵌入式最重要的基礎知識,但是掌握了它并不代表你的基礎已經很好了,嵌入式學習相關的基礎知識主要是這些: 一是程序設計的基礎,例如:基本的編程語言基礎,至少對數據類型、程序的結構及流程控制等最基本的內容要相當清楚,所以建議惡補一下C語言,推薦譚浩強的C語言程序設計,好好看一下,呵呵!另外有不少同學都問到數據結構的基礎,我一直認為數據結構和算法的學習是幫助形成程序設計邏輯思維的很好訓練方式,對于程序員的長期專業(yè)素養(yǎng)的提高一定有好處,所以建議即使已經在嵌入式行業(yè)中工作之后也應該多補充一些相關的知識。許多在學校沒有學過數據結構的同學往往認為這部分非??菰?、難學。而實際上如果你能明白研究計算機存儲和數據組織方式的意義,就一定能夠充分體會到數據結構的價值和魅力。一旦興趣有了,一切就會迎刃而解,呵呵! 二是操作系統(tǒng)工作原理,這部分往往是非計算機專業(yè)的同學在學校時沒有接觸過的。而由于嵌入式軟件設計相關的多任務環(huán)境、模塊間的同步與通信協(xié)同、驅動設計等往往都需要有對操作系統(tǒng)工作機制的了解和掌握作為基礎,因此建議沒有系統(tǒng)學習過的同學,找一本相關的操作系統(tǒng)工作原理書籍認真看一下(不用特厚、特專業(yè)、特內核的,先以普及知識為主,呵呵?。?。 三是基本的硬件基礎,由于嵌入式Linux開發(fā)往往是ARM+Linux路線,所以為了能夠在后續(xù)學習過程中很好地掌握主流嵌入式微處理器的結構與原理(例如:ARM9),就需要對硬件工作原理有初步的了解和掌握,建議看一下諸如計算機組成原理、體系結構等相關的專業(yè)書籍。 要深入學習你可以嘗試以下路線: (1) C語言是所有編程語言中的強者,單片機、DSP、類似ARM的種種芯片的編程都可以用C語言搞定),因此必須非常熟練的掌握。 推薦書籍:《The C Programming Language》 這本經典的教材是老外寫的,也有中譯版本。 (2) 操作系統(tǒng)原理,是必需的,如果你是計算機專業(yè)畢業(yè)那也就無所謂了,如果是非計算機專業(yè)的就必須找一本比較淺顯的計算機原理書籍看一看,把啥叫“進程”“線程”“系統(tǒng)調度”等等基本問題搞清楚。 (3)Linux操作系統(tǒng)就是用C語言編寫的,所以你也應該先學習下Linux方面的編程,只有你會應用了,才能近一步去了解其內核的精髓。 推薦書籍:《UNIX環(huán)境高級編程》(第2版) (4) 了解ARM的架構,原理,以及其匯編指令,我們在嵌入式開發(fā)中,一般很少去寫匯編,但是最起碼的要求是能夠看懂arm匯編。 (5) 系統(tǒng)移植的時候,就需要你從最下層的bootloader開始,然后內核移植,文件系統(tǒng)移植等。而移植這部分對硬件的依賴是非常大的,其配置步驟也相對復雜,也沒有太多詳細資料。 (6) 驅動開發(fā) linux驅動程序設計既是個極富有挑戰(zhàn)性的領域,又是一個博大精深的內容。 linux驅動程序設計本質是屬于linux內核編程范疇的,因而是對linux內核和內核編程是有要求的。在學習前你要想了解linux內核的組成,因為每一部分要詳細研究的話足夠可以擴展成一本厚書。 以上只不過是大概的框架,在實際的開發(fā)中還會涉及很多東西,比如:交叉編譯、makefile、shell腳本等等,所以說學習嵌入式的周期較長,門檻較高,自學的話更是需要較強的學習能力和專業(yè)功底。只要能堅持下來一定會取得成功! 華清遠見的嵌入式專業(yè)教材比較專業(yè),也很出名,高校圖書館以及外面書店都有賣,你可以去網上搜一下,買本看看,華清遠見的網站和技術論壇上面也有很多嵌入式學習資料和視頻可以下載,而且更新的速度也很快,LZ沒事可以去轉轉,相信對你會有幫助!