我相信很多人都有過這樣的經歷:剛開始學arm嵌入式的時候,不知道從哪里學起,應該學哪些東西,一般都會在網上搜搜,看到推薦的五花八門的,各種各樣的書,看著都感覺壓得喘不過來了,更不知道應該要學哪些了,其實學習arm嵌入式也不必要看那么多書,那樣還會浪費時間,打擊自己的自信心,在這里就看看人家久經沙場的資深程序員在arm嵌入式學習上的建議。
首先要知道,狹義的嵌入式就是ARM9、cortex A8等特定的跑操作系統的芯片,arm嵌入式在學習中會涉及到很多知識點,剛開始學的話,arm嵌入式的基礎知識,是要必須先掌握的
1、c語言,關于C語言要知道基本的語法,什么是結構體,什么是共用體,有什么區別,不用強記一些二級考的東西,因在實際中用的很少。
2、c++要知道什么是類,怎么定義,繼承,接口,要深刻理解,當然基本語法也是必不可少的。
3、操作系統原理也應該知道基本的原理的,我記得我大學沒這個課還是去電信學院蹭別的專業的課呢,后來學習發現很多的東西都是在這個課上學到的。什么時間片啊,任務調度啊,都是在那里知道的。
3、Linux基本命令的使用(vi編輯器必須會用,因為在終端改文件的時候只能用這個),我們現在很多的人都習慣用鼠標了,很少用到命令,我們學習嵌入linux可要改改這個習慣了,linux用命令操作一是效率高,二是功能非常強大,遠非圖形界面能比的了的,其實我們用圖形界面的操作都要轉化為命令傳給硬件的。
4、Linux文件系統的管理要清楚,哪個目錄存放是什么東西,有什么用,文件權限管理等
5、Shell編程也要了解一些,學會編寫shell腳本
腳本也是一種編程語言,只不過是解釋型語言。相比C/C++、C#、Java這類高級語言,腳本要易學很多(因為增加了語法糖)。在linux下,shell也有很多種,如:bsh、bash、csh、tcsh、ksh、zsh等,一般是學bash,其它的遇到再學也不遲,因為都是大同小異的。如果有時間的話,建議再學Python腳本,Python的語法要容易很多,用途也比bash廣很多。
6、Linux設備驅動的架構要了解,初學者可以以米爾的MYD-AM335X開發板上的led驅動分析一下,結合原理圖和linux設備驅動相關書籍把每一行代碼都分析明白。關于驅動給大家推薦一本書《LINUX設備驅動程序》華清遠見出版的,很經典的,初學者看可能看不太明白,不過要堅持看,最次也得把前6章看完了。
7、學會使用linux常用工具
編輯器(寫代碼必備的)。有gedit,vim,emacs,sublime等。
gcc和gdb。gcc是編譯器,gdb就是代碼調試器。
makefile、autoconf、automake。這里可不像VC++6.0這種工具,點個鼠標就給你編譯好。在linux下,你得用makefile和make工具,來編譯代碼。其中autoconf和automake可以自動生成makefile。
ssh、tftp。arm嵌入式培訓如果你在ARM開發板上弄了個Web服務器,那么,你就可以用這些工具去訪問它。其中,ssh工具建議用SecureCRT或者MobaXterm。
samba。要想用linux跟windows交換數據,還可以搭建samba服務器。
版本控制器。有svn,cvs,Git等,推薦學git。有了git,你就不必手動備份代碼了。
上面這些都是arm嵌入式學習中需要學的知識點,可以根據這一個個知識點來學習,而且看書不要希望一次就會
一次就明白是什么意思,也不要死記硬背,看不明白也沒關系,以后遇到了知道去哪里去找就可以了,以后遇到的多了,也就記住了,遇到的少的,忘記也就忘記了。還有,不要直接閱讀linux內核源代碼,看一些自己把頭撞破也想不明白的事,會打擊初學者的積極性,要循序漸進,今天學個做個led,明天做個串口,后天說不定就做硬件編解碼了。
學習arm嵌入式你可以不接受培訓,但是不能不買開發板
如果你想學習嵌入式一定要買塊學習板,現在的開發板很便宜了,給我們初學者減輕了很多經濟負擔?丛俣嗟囊曨l,看再多的書,也不如自己動手試一下,看著很簡單的東西,做起來就可能遇到很多的問題,遇到問題找到原因,解決問題,只有這樣才能學到東西,記得我第一次寫led的驅動,想自己試一下,網上也有人寫過相關的代碼,可是自己一試,就出了好多的問題,那個led弄了我一天才把led燈點亮。所以不要眼高手低。
還有關于培訓,現在的培訓機構很多,講的也不錯,老師也很好,但是有一個問題,太集中了,而且學生動手的機會也不太多,記得我們公司還招了一個在北京某個培訓機構培訓半年的員工呢,花了一萬多,來了之后也沒感覺有多高,問他都學了什么,也就是我前邊說的那些基礎知識,很多的東西還是不知道的,照著書弄個helloworld模塊驅動兩天沒搞定。不是培訓不好,但我個人見解效果并不是很好。記。褐挥凶约簞邮肿鲞^的東西才是自己的。
還有最重要的一點就是多看代碼,多寫代碼
見多識廣,熟能生巧。多看代碼,要從代碼中讀出代碼的意思來。自己平時也要多寫代碼,多練習(這一點我做的不好,寫的少)。要理論與知識相結合,這樣才能掌握扎實。
學習arm嵌入式,其實很簡單,掌握好方法,那就是行云流水,掌握不好,就會很迷茫,所以跟著這些步驟好好來學,還是很不錯的。
相關推薦:arm嵌入式圖書