zoukankan      html  css  js  c++  java
  • 第六章

    第六章 Linux驱动程序

    1.编写Linux驱动程序的步骤

    (1)建立Linux驱动骨架(装载和卸载Linux驱动)

    Linux内核在使用驱动时首先需装载驱动,在装载过程中需要进行一些初始化的工作,例如建立设备文件,分配内存地址空间等。退出Linux系统是,需要卸载Linux驱动。卸载的过程中就是释放Linux驱动占用的资源。两个函数分别为module_init和module_exit宏指定。

    (2)注销和注册设备文件

    分别用misc_register和misc_deregister函数创建和移除设备文件

    (3)指定与驱动相关的信息

    通过modinfo命令获取驱动程序的作者姓名、使用的开源协议、别名、驱动描述等信息

    Modinfo word_count.ko

    (4)指定回调函数

    Linux驱动包含了很多动作,也可以成为事件。例如,向设备文件写入数据会触发“写”事件。Linux系统会调用对应驱动程序的write回调函数,从设备文件读数据会处罚“读”事件,调用read回调函数。

    (5)编写业务逻辑

    具体的业务逻辑与驱动的功能有关。业务逻辑可能由多个函数、多个文件甚至是多个Linux驱动模块组成。具体根据实际情况而定。例如打印机发送打印指令等

    (6)编写Makefile文件

    Linux内核源代码的编译规则是通过makefile文件定义的。因此编写一个新的Linux驱动程序必须要有一个makefile文件

    (7)编译Linux驱动程序

    Linux驱动程序可以直接编译进内核,也可以作为模块单独编译

    (8)安装和卸载Linux驱动

    安装

    Insmod word_count.ko

    查看word_count是否安装成功

    Lsmod | grep word_count

    查看Linux驱动输出的日志信息

    Demesg | grep word_count | tail –n 2

    http://www.cnblogs.com/BJBLOG/

  • 相关阅读:
    系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式[转]
    EF RepositoryBase 参考示例【转】
    Entity Framework 杂碎
    Oracle.ManagedDataAccessDTC.dll 使用
    c# http请求,获取非200时的响应体
    c# windows service(服务)
    git log
    解决冲突
    clone命令
    remote指令添加远程数据库
  • 原文地址:https://www.cnblogs.com/BJBLOG/p/5561308.html
Copyright © 2011-2022 走看看