1. linux驅動開發與裸機開發的區別

裸機開發

  1. 底層,跟寄存器打交道,有些MCU提供了庫

linux驅動開發

  1. linux下驅動開發直接操作寄存器,不現實
  2. 根據Linux下的各種驅動框架,進行開發;一定要滿足框架,也就是linux下各種驅動框架的掌握;
  3. 在linux下,驅動最終表現(對應的外設)是 /dev/xxx下的文件;打開、關閉、讀寫都可以
  4. 現在的內核基本都支持設備樹,這個.dts文件,此文件描述了板子的設備信息;(內核通過分析這個.dts設備樹文件,就能夠知道當前板子上的設備信息)

linux下驅動開發分類

linux驅動分爲三大類:

  1. 字符設備驅動; 最多的;
  2. 塊設備驅動; 與存儲設備的相關的(SD卡,emmc,ssd,硬盤等)
  3. 網絡設備驅動;網卡
    一個設備不是說一定只屬於一個類型。比如USB WIFI、SDIO WIFI,屬於網絡設備驅動
    又因爲它有USB和SDIO,因此也屬於字符設備驅動
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章