• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 牛人業話 > Linux驅動程序學習步驟經典收藏

    Linux驅動程序學習步驟經典收藏

    作者: 時間:2016-12-08 來源:網絡 收藏

      了解linux技巧學習的方法很重要,學習linux操作系統時,你可能會遇到關于驅動方面的問題,這里將介紹學習linux的方法,在這里拿出來和大家分享一下。

    本文引用地址:http://www.czjhyjcfj.com/article/201612/341305.htm

      1.學會寫簡單的makefile

      2.編一應用程序,可以用makefile跑起來

      3.學會寫linux的makefile

      4.寫一簡單char驅動,makefile編譯通過,可以insmod,lsmod,rmmod.在驅動程序的init函數里打印helloworld,insmod后應該能夠通過dmesg看到輸出。

      5.寫一完整驅a動,加上read,write,ioctl,polling等各種函數的驅動實現。在ioctl里完成從用戶空間向內核空間傳遞結構體的實現。

      6.寫一block驅動程序加上read,write,ioctl,poll等各種函數實現。

      7.簡單學習下內存管理,這個是最難的,明白各種memoryalloc的函數實現細節。這是linux開發的基本功。

      8.學習鎖機制的應用,這個不是最難的但是最容易犯錯的,涉及到很多同步和并發的問題。

      9.看內核中實際應用的linux驅動程序代碼。你會發現最基本的你已經知道了,大的框架都是一樣的,無非是read,write,ioctl等函數的實現,但里面包含了很多很多細小的實現細節是之前不知道的。這時候就要考慮到很多別的問題而不僅僅是基本功能的實現。

      推薦您看2.6.20中integrated的一個驅動kvm,記得是在driver/lguest下,很好玩的,就是linux下的虛擬機驅動程序,代碼不長,但功能強大。有能力的可以自己寫一操作系統按照要求做成磁盤鏡像加載到虛擬機中,然后客戶機可以有自己的4G虛擬地址空間。

      10.看完linux驅動程序代碼歡迎您進入kernel學習中來。

      最簡單的方法,跟著ldd(linuxdevivedriver)做一遍。



    關鍵詞: Linux 驅動程序

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 潮州市| 贵德县| 阿克陶县| 长武县| 北票市| 中牟县| 乐山市| 平南县| 彰化县| 芮城县| 会同县| 锦州市| 习水县| 南木林县| 偏关县| 扎赉特旗| 民丰县| 石城县| 涞水县| 佛坪县| 宜丰县| 井陉县| 河源市| 古交市| 乌拉特前旗| 宜宾市| 依兰县| 靖西县| 志丹县| 桐柏县| 枞阳县| 谷城县| 扶余县| 双城市| 武邑县| 阳山县| 南安市| 淳化县| 泰安市| 大石桥市| 叶城县|