• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

求写linux驱动模块捷径?

qrfbntel 2016-03-21 浏览量:1338
同题,求linux各种驱动编写的捷径及方法?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 个人感觉还是有模板可借用,比如说字符设备的驱动:

    像正常来说

    module_init()

    module_exit()

    这个是固定模式,在INIT中

    |
    | 1.构建cdev的数据结构
    | 2.init初始化加载模块
    申请主次设备号
    dev_t devno = MKDEV(major,minor)
    注册此设备号
    register_chrdev_region()
    alloc_chrdev_region() 包含register_chrdev_region()动态分配主设备号
    //填充file_operations结构体中的操作函数,初始化cdev_init时与设备结构体绑定
    初始化字符设备
    cdev_init()
    添加一个字符设备
    cdev_add()
    注册中断函数
    requset_irq()

    在exit中:

    free_irq()对应于request_irq()
    cdev_del()对应于cdev_del()
    unrgister_chrdev_region()对应register_chrdev_region()

    • 发布于 2016-03-21
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:7
  • 只能是找到其他平台的或是类似的进行移植了。
    • 发布于2016-03-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 没有捷径,只能慢慢学习,慢慢摸索,书山有路勤为径。

    需要资料可以帮你找。

    • 发布于2016-03-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 噢,写一个驱动模块不行么?
    • 发布于2016-03-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 不错,有没有块设备跟网络设备的??
    • 发布于2016-03-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 驱动模块也可以移植或参考其他的程序,这样不是更快么
    • 发布于2016-03-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 一步一步来,一口吃个大胖子会撑死的。
    • 发布于2016-03-23
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

求写linux驱动模块捷径?