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

    编写一个Linux的一般步骤:

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

    第2步:注册和注销设备文件

    第3步:指定和驱动相关的信息

    第4步:指定回调函数

    第5步:编写业务逻辑

    第6步:编写Makefile文件

    第7步:编译Linux驱动程序

    第8步:安装和卸载Linux驱动

        在编写Makefile文件时obj-m表示将Linux驱动作为模块(.ko文件)编译,而obj-y是将Linux驱动编译进Linux内核;obj-m或obj-y需要使用":="赋值。通过make menuconfig命令可以配置每一个驱动及其他内核程序是否允许编译进内核。Linux系统内存分为了用户空间和内核空间,这两个空间的程序不能直接访问。printf函数运行在用户空间,printk函数运行在内核空间,因此,属于内核程序的Linux驱动是不能直接访问printf函数的,而用户空间的程序

    也不能直接调用printk函数。如果使用模块方式编译Linux驱动程序,需要

    使用M指定驱动程序所在的目录。例如:查看由Linux驱动输出的日志信息所使用如下命令:

          # dmesg | grep word_count | tail -n 2

      或

      # cat /var/log/syslog | grep word_count | tail -n 2

        使用modinfo查看.ko文件的信息,设备文件由主设备号和次设备号描述。

  • 相关阅读:
    【BZOJ 3098】 Hash Killer II
    【BZOJ 1189】[HNOI2007]紧急疏散evacuate
    【BZOJ 1088】 [SCOI2005]扫雷Mine
    【BZOJ 1821】 [JSOI2010]Group 部落划分 Group
    【BZOJ 1013】 [JSOI2008]球形空间产生器sphere
    【BZOJ 1084】[SCOI2005]最大子矩阵
    【BZOJ 1085】 [SCOI2005]骑士精神
    JNday6-pm
    JNday6-am
    JNday5-pm
  • 原文地址:https://www.cnblogs.com/zgen1/p/5547784.html
Copyright © 2011-2022 走看看