有一些基礎了,比如c,接著呢?希望有經驗的人談談自己的學習歷程。
好吧,這是我在知乎發的第乙個回答!
四年前我第一次接觸android,開始做底層linux的驅動的開發。
首先,接觸linux作業系統,在你的電腦上裝乙個linxu作業系統(建議ubuntu,比較友好),熟悉經常要用的命令,熟悉環境(建議看「鳥哥的linux私房菜」)。
其次,閱讀經典書籍是不可少的,建議先看ldd前四章,大概了解linux驅動的框架,驅動是做什麼的,該如何寫驅動,那本書上有一些例子,可以在你的電腦上編譯,執行看看。後面的章節在結合自己的情況而定。
第三,建議閱讀ulk(understanding the linux kernel)所有的內容,了解linux核心的一些基本知識,在心中建立乙個框架,不必完全懂,深入了解就好,以後經常翻翻,受益無窮!然後還有其他的一些經典書籍,網上都有的,都看看吧!
),所以可能要多話時間看**,了解**的框架,設計的思想等,只要一步乙個腳印,一定會有所成。
第五,因為現在的移動裝置大多數都是android的了,所以你就要看看linux kernel在android的作用,然後往上看看,看看hal層的**,這些在除錯中都是需要的,如果有興趣,更加可以看看framework的**了,學習android一些工作機制,類似於su***ceflinger,audioflinger等等。。
這個基本上就是我學習的乙個大概過程,read the ****ing source code。
祝你成功!
Linux驅動開發學習筆記
一 linux裝置驅動基礎 基於linux2.6核心 參考 linux device drivers 3rd edition linux kernel有乙個很好的特性,可以支援在執行是進行擴充套件。這意味著系統啟動執行是,我們仍然可以向kernel新增功能。這種執行時可以被新增到kernel的 稱為...
Linux驅動開發學習(一)
1.軟體驅動 驅動硬體,使硬體處於某種工作模式,提供控制硬體方法 2.驅動的地位 驅動是連線核心與裝置的橋梁 1.字元裝置 字元裝置驅動 字元裝置檔案 2.網路裝置 網路裝置驅動 3.塊裝置 塊裝置驅動 塊裝置檔案 1.驅動編寫 2.驅動編譯 3.驅動使用 三要素 1.入口 載入 module in...
Linux裝置驅動開發學習步驟
最近在學習這個linux裝置驅動開放這一塊,因為是自學的所以摸不到頭緒,經過一段時間的摸索,現在又了一點認識,所以我在這裡就來寫一下 1.學會寫簡單的makefile 2.編一應用程式,可以用makefile跑起來 3.學會寫驅動的makefile 4.寫一簡單char驅動,makefile編譯通過...