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

    Linux系统将每个驱动都映射成一个文件,这些文件称为设备文件或驱动文件,都保存在/dev目录中。

             编写Linux驱动程序的步骤:

    一、建立Linux驱动骨架(装载和卸载Linux驱动);

    Linux内核在使用驱动时首先需要装载驱动。在装载过程中需要进行一些初始化工作。当 Linux系统退出时需要卸载Linux驱动,在卸载的过程中需要释放Linux驱动占用的资源。

                      二、注册和注销设备文件:

    任何一个Linux驱动都需要有一个设备文件,否则应用程序将无法与驱动程序交互。可以分别使用misc_register和misc_deregister函数创建和移除设备文件。

                      三、指定与驱动相关的信息:

                              驱动程序是白描述的。可以通过modinfo命令获取驱动程序的相关信息。

                      四、指定回调函数:

    一个驱动程序并不一定要指定所有的回调函数。回调函数会通过相关机制进行注册。

    五、编写业务逻辑:

             这一步是Linux驱动的核心部分。光有骨架和回调函数的Linux驱动是没有任何意义的。具体的业务逻辑与驱动的功能有关。业务逻辑可能由多个函数、多个文件甚至是多个Linux驱动模块组成。

    六、编写Makefile文件:

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

    七、编译 Linux 驱动程序:

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

    八、安装和卸载 Linux 驱动:

             将Linux驱动编译进内核,只要Linux使用该内核,驱动程序会自动装载。如果Linux驱动程序以模块单独存在,需使用insmod或modprobe命令装载Linux驱动模块,使用rmmod命令卸载Linux驱动模块。

  • 相关阅读:
    linux如何查看端口或服务被占用情况
    linux网络查看及配置相关命令
    linux查看程序运行相关命令
    shell脚本编写一个用真实用户去访问的vsftpd服务器
    shell脚本监控CPU和内存利用率
    小白的个人技能树(基于自动化软件测试开发实习和软件开发实习)
    MySQL 8.0.12 基于Windows 安装教程(超级详细)
    C语言 0x7fffffff是多少(也就是INT_MAX,首位是 0,其余都是1,f代表1111)
    数通知识点
    数据结构之算法基础
  • 原文地址:https://www.cnblogs.com/homwok/p/5561511.html
Copyright © 2011-2022 走看看