T8 高級驅動學習方法

1.回顧

1.1字符設備驅動開發步驟

  • 首先要實現模塊加載(xxx_init())與卸載函數(xx_exit())函數
  • 以後申請設備號(register_chrdev_region())
  • 註冊字符設備驅動,cdev_alloc(),cdev_init(),cdev_add()
  • 使用udev/mdev機制建立設備文件(設備節點),class_create,device_create
  • 硬件初始化,具體包含
  • io資源映射ioremap,內核提供的gpio庫函數
  • 註冊中斷
  • 初始化等待隊列
  • 初始化定時器
  • 構建file_operation結構體
  • 實現硬件操做方法,xxx_open,xxx_read,xxx_write,xxx_close

1.2框架引入

  • 爲了使得驅動代碼可重用,可維護,可伸縮,使得驅動代碼可移植性好,進而引入總線概念
相關文章
相關標籤/搜索