zoukankan      html  css  js  c++  java
  • 第六章读书笔记

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

    Linux驱动程序需要提供两个函数来分别处理驱动初始化和退出的工作,用module_init和module_exit宏指定。

    2.注册和销毁设备文件

    使用misc_register创建设备文件,使用misc_deregister移除设备文件。

    3.指定与驱动相关的信息

    驱动程序是自描述的,需要在驱动源代码中指定。

    4.指定回调函数

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

    5.编写业务逻辑

    业务逻辑可能由多个函数,多个文件甚至多个linux驱动模块组成

    6.编写Makefile文件

    7.安装和卸载Linux驱动

    linux驱动程序以模块单独存在,需要使用insmod或modprobe命令装载linux驱动模块,使用rmmod命令卸载linux驱动程序

    安装驱动:insmod .ko文件

    卸载驱动:rmmod 模块名

    一个完整的Linux驱动程序会指定这些与驱动相关的信息。一般需要为Linux驱动程序制定如下信息:

    模块作者:使用MODULE_AUTHOR宏指定

    模块描述:使用MODULE_DESCRIPTION宏指定

    模块别名:使用DOUDLE_ALTAS宏指定

    开源协议:使用MOUDLE_LICENSE宏指定

    测试Linux驱动的步骤:

    第一步:导入test-word-count.c文件

    第二步:设置include路径

    第三步:建立taget

    第四步:Build工程

    第五步:运行测试程序

  • 相关阅读:
    C++概念性总结
    友元函数
    C++指针概念
    Linux下多线程(clone()线程)
    Qt5模块化详细总结
    C++有符号与无符号之间的转换问题
    使用C++test工具做Qt代码静态分析
    QT函数带有外部链接但没有在头文件中声明(QT noreturn属性添加)
    Linux之Docker手动创建Docker容器
    我在思考一个很变态的社会趋向
  • 原文地址:https://www.cnblogs.com/SamLee-/p/5561159.html
Copyright © 2011-2022 走看看