zoukankan      html  css  js  c++  java
  • 第六章、第一个Linux驱动程序:统计单词个数

    通过对这一章的学习,我学会了一个完整的Linux驱动:统计单词数的word_count驱动,并学会了如同使用不同的方法来测试Linux驱动,也对Linux的驱动开发过程有了更深刻的了解。

    一、编写Linux驱动程序的步骤

    1.建立Linux驱动骨架

    Module_init处理驱动初始化,module_exit处理驱动退出

    2.注册和注销设备文件

     

    Misc_register函数创建和misc_deregister移除设备文件

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

    4.指定回调函数

    5.编写业务逻辑

    6.编写makefile文件

    7.编译Linux驱动程序

    8.安装和卸载Linux驱动

    二.Linux驱动:统计单词个数

    1.开始前的准备工作

    1)建立存放Linux驱动程序的目录

    mkdir –p /root/drivers/ch06/word_count

    cd /root/drivers/ch06/word_count

    2)建立驱动源代码文件

    echo ‘’>word_count.c

    3)编写makefile文件

    Echo obj-m := word_count.o> Makefile  (obj-m表示将Linux驱动作为模块编译,obj-y表示编译进Linux内核)

    Linux驱动依赖其它程序则需要这样编写makefile文件

    Obj-m:=word_count.o

    Word_count-y :=process.o data.o

    2.编写Linux驱动程序的骨架(初始化和退出驱动)

    Printk函数,Linux程序中出现,该函数用于输出显示日志信息

    测试编译Linux驱动源代码

    make –C /usr/src/linux-headers-3.0.0-15-generic M=/root/driver/ch06/word_count

    安装Linux驱动

    insmod word_ount.ko

    查看word_count是否安装成功

    lsmod | grep word_count

    卸载Linux驱动

    rmmod word-count

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

    dmessg |grep word_count | tail n 2 或者cat /var/log/syslog | grep word_count | tail n 2

    3.开源协议、GPL协议、LGPL协议、BSD协议、Apachelicence2.0协议、MIT协议

    4、注册和注销设备

    extern int misc_register(struct miscdevice * misc)

    extern int misc_deregister(struct miscdevice * misc)

    还需要修改word_count.c文件中的word_count_initword_count_exit这两个函数

    设备文件由主设备号和次设备号来标记的。主设备号统一都设置为10,是Linux系统中拥有共同特性的简单字符设备,称为misc设备,当成功注册了设备文件,misc_register函数返回非0的整数,失败返回0.

    insmod word_count.ko

    rmmod word_count

    ls –a /dev

    ls –l /dev

  • 相关阅读:
    远程监控JVM
    性能测试的思考
    吴恩达《机器学习》课程总结(11)机器学习系统的设计
    吴恩达《机器学习》课程总结(10)应用机器学习的建议
    吴恩达《机器学习》课程总结(9)神经网络的学习
    吴恩达《机器学习》课程总结(8)神经网络表述
    吴恩达《机器学习》课程总结(7)正则化
    吴恩达《机器学习》课程总结(6)逻辑回归
    吴恩达《机器学习》课程总结(5)Octave教程
    吴恩达《机器学习》课程总结(4)多变量线性回归
  • 原文地址:https://www.cnblogs.com/liang123456/p/5561245.html
Copyright © 2011-2022 走看看