zoukankan      html  css  js  c++  java
  • 统计单词个数

      我们通过统计单词个数实例来详细的了解一下开发和测试linux驱动的完整过程,下面是我的一些心得体会:

      首先我们要理解的是Linux驱动的内容,了解它的工作方式,Linux系统将每一个驱动都映射成一个文件.这些文件称为设备文件或驱动文件,都保存在/dev目录中。其次,我们可以将编写linux驱动程序的步骤作为参考来编写自己的驱动程序。

      编写linux驱动程序的步骤:建立linux驱动骨架(module_init、module_exit);注册和注销设备文件(misc_register、misc_deregister);指定与驱动相关的信息(MODULE_AUTHOR、MODULE_LICENSE、MODULE_ALIAS模块别名、MODULE_DESCRIPTION);指定回调函数;编写业务逻辑;编写Makefile文件(linux内核源代码的编译规则是通过makefile文件定义的);编译linux驱动程序;安装和卸载linux驱动(insmod、rmmod)。

    运用到统计单词个数上就是:

    (1)编写linux驱动程序前的准备工作:建立并进入存放linux驱动程序的目录,编写Makefile文件。

    (2)编写linux驱动程序的骨架:printf函数运行在用户空间,printk函数运行在内核空间。

    安装linux驱动:insmod word_count.ko

    查看word_count是否成功安装:lsmod | grep word_count

    卸载linux驱动:rmmod word_count

    查看日志信息:dmesg\(cat 日志服务的目录) | grep word_count | tail –n 2

    (3)指定与驱动相关的信息:modinfo word_count.ko查看word_count.ko的信息。

    (4)注册和注销设备文件:

    # define DEVICE_NAME “wordcount”   定义设备文件

    Static struct miscdevice misc = {};     描述设备文件的信息

    ret = misc_register(&misc);      建立设备文件

    misc_deregister(&misc);          移除设备文件

    (5)指定回调函数:word_count_read和word_count_write函数分别处理从设备文件读数据和向设备文件写数据的操作。两函数中的copy_to_user和copy_from_user函数是将数据从内核空间复制到用户空间或从用户空间复制到内核空间。

    (6)实现统计单词数的算法。

    (7)编译、安装、卸载linux驱动程序。

                                                                                                                                      19:23:51

                                                                                                                                     2016-05-30

  • 相关阅读:
    网络诊断工具:[tcpdump]
    网络诊断工具:iproute
    C语言编译全过程
    (Ruby)Ubuntu12.04安装Rails环境
    (Life)牛人的学习方法(转译文)
    (WPF)WPF事件要点WPF宝典笔记
    (WPF)依赖属性要点WPF宝典笔记
    (DP)降低代码重构的风险(转载)
    (WPF)路由事件要点WPF宝典笔记
    JDBC,MYBATIS,Hibernate性能对比!
  • 原文地址:https://www.cnblogs.com/sakura029/p/5543666.html
Copyright © 2011-2022 走看看