嵌入式linux學習是很多人最頭疼的事了,掌握不了方法,學習總是很迷茫,那么今天華清遠見的大神高手就告訴你:嵌入式linux學習經驗,方法及步驟,對學習嵌入式linux是很有用的。
1、嵌入式linux學習,剛開始的時候,你要會用,要熟悉,linux系統,會使用這是最基本的。
2、熟悉嵌入式linux系統了,那接下來,就是linux開發的具體學習了,首先你要知道嵌入式linux離不開編程基礎,所以你需要熟悉C語言,c++等
3、寫完程序了發現不就是一個很普通的文件嗎,怎么能像別人寫的程序一樣運行起來呢?這時我們需要知道如何編譯一個程序,需要知道編譯器及一些其他工具的使用,比如GCC,在開發的過程中我們為了提供工作效率還會用到Make,Shell等,為了能夠很好的管理我們代碼的不同版本,我們還需要知道什么是SVC,CVS,subversion,git等。
4、當我們再往深了學的時候,就要考慮效率問題了,這時候,你就需要接觸數據結構,多線程,多進程了,這樣會讓你的效率更加提高。
5、學到這里,你就會在學習的時候看到Cortex-A15 、四核 、ARM等等字眼,什么是ARM,什么是Cortex-A15,我們需要進一步的了解。
6、花了很長時間系統做好了,發現板子上很多的什么不能用,怎么辦呢?這時我們需要寫一些驅動來驅動這些設備,這時我們需要知道,什么是字符設備驅動、塊設備驅動、網絡設備驅動,為了更好的寫驅動我們需要了解更多的硬件相關的東西,我們需要看懂芯片手冊,我們需要看懂原理圖,只有我們懂我們的設備,才能更好的驅動它。等等,這里就列舉更多的內容了,因為還有很多。
上面只是一些簡單的嵌入式linux的學習經驗,后面告訴你嵌入式linux的學習方法步驟。
嵌入式linux方法步驟:
關于命令
當然是知道的越多越好,用的越熟越好,但別只為了練命令而練命令:搜linux常用命令,得到一堆結果,對著敲!枯燥!效率低!易忘!我的建議是從使用中學習,比如你要配samba,你就要安裝samba:yum ,aptget或make install,你會學到安裝命令及用法,關防火墻,你要學到sudo service iptables stop 如果你有心,你肯定不只想知道這句話是關防火墻,你還想知道每個單詞的意思及用法linux可以做很多東西,你從中可以學很多東西!主攻書籍:linux內核完全剖析、unix環境高級編程、深入理解linux內核、情景分析和源代。
2:系統編程
不建議直接整APUE,因為如果基礎不好很可能有些地方看不懂, linux系統編程其實就是函數調用,就是io 進程線程,ipc(進程通信),網絡編程,可能還會有UI。快速了解Linux編程是什么東西,快速知道如何寫一個簡單的程序,如文件拷貝程序(想想是不是很多時候你整了一大堆理論,卻還是寫不出程序來,是不是清楚知道函數的功能,卻不知道怎么調用,xxx從入門到精通系列正好解決這個問題,它儼然就是帶實例的中文man手冊,講解參數,講返回,然后給個例程…)。可以找一家大書店,去計算機分類中找到這方面的書,可以在書店里看,也可以買下來。快速的了解linux編程是何物。然后再看apue 這類書會很好上手。另外,經常試寫下系統命令:ls cd cp 等,經常看man。
3:驅動
驅動是個很深奧的東西,學驅動不要只限于驅動框架,一定要知道它每個功能的實現原理,比如你給驅動添加了poll功能,不要只知道這樣寫就可以實現poll,以后按這個寫就可以了,你還要知道它的原理!!就是到內核里看它是怎樣一步步調用過來的,中間經歷了什么?!
學驅動要多看內核原碼!了解內核子系統!不要說你看不懂,一開始誰也看不懂。必須有塊開發板(arm9及以上),有條件可參加培訓(進步快,能認識些朋友)。主攻書籍:《嵌入式Linux應用程序開發標準教程》等
4:vim
還是那句話,操作的越眼花繚亂越好!請自行Google它的配置放法!這里提幾個常用插件:ctags, cscope, clang, wm, 還有很多!請自行Google!別用百度!! vim是個神器!功能上完全不輸source insight等任何IDE!
還有一點,就是上面也說了,C語言是必須要學習的,你可以借鑒C語言學習視頻來學習,還是不錯的。
嵌入式linux學習要實踐和理論相結合來學習,這樣效果還是很好的