编译这几个函数之前要学一下:Linux 的几个操作命令。

  学习地址:http://edu.51cto.com/lesson/id-101824.html

重要的命令 有4个 :分别是 1、lsmod,2、insmod 3、modinfo 4、rmmod.

1、lsmod (list module) 将模块列表显示,打印出当前内核中已经安装的模块列表,下面试试效果

    

2、insmod  ( install module ) 向内核中安装模块,使用方式 insmod xxx.ko

3、modinfo ( module information ) 模块信息自带信息,使用方式modinfo xxxx.ko

分别 包括路径,使用权限,版本号(纯数字),依赖关系(与其他模块关系),字符串的版本号(详细的版本信息)

4、rmmod ( remove module )向内核中移除模块,使用方式 rmmod xxx

5、不常用的 两个命令 (modprobe,depmod)

6、Ubuntu 会 拦截 printk 函数打印的数据,因此要使用 命令 dmesg 来查看。

7、内核版本信息和模块版本信息得一直才能安装,否则不能安装。。。(vermagic)

8、如何保证模块vermagic 和内核的 一致性,即 用 该 内核编译就好了。

9、内核中不允许使用 printf,因为会占用大量的时间,影响内核的性能,尽量使用printk函数。

  

10、内核 shell 控制台 有一个 优先级 别,可以设定是否打印 printk 打印的数据到控制台,方便调试。 查看和修改 方法如下:

  1、查看:cat /proc/sys/kernel/printk

  2、修改:echo 7 > /proc/sys/kernel/printk

  

字符型设备驱动程序-first-printf以及点亮LED灯(二)的更多相关文章

  1. 字符型设备驱动程序-first-printf以及点亮LED灯(三)

    根据  字符型设备驱动程序-first-printf以及点亮LED灯(二) 学习 修改函数 中的printf 为 printk. #include <linux/module.h> /* ...

  2. 字符型设备驱动程序-first-printf以及点亮LED灯(一)

    学习使用 Linux 的  字符型设备驱动 来 进行 . 学习地址:http://edu.51cto.com/lesson/id-25710.html 第一步: 首先写 三个函数 ,2017年5月17 ...

  3. 字符型设备驱动程序-first-printf以及点亮LED灯(四)

    怎么样 把 写的 代码 和 编译 放到  开发板上 去执行? 2017年5月22日16:34:13 需要 自己 编译 Linux 内核.. 需要 以下 几个 条件: 1.正常运行 Linux 的 开发 ...

  4. Linux内核驱动学习(三)字符型设备驱动之初体验

    Linux字符型设备驱动之初体验 文章目录 Linux字符型设备驱动之初体验 前言 框架 字符型设备 程序实现 cdev kobj owner file_operations dev_t 设备注册过程 ...

  5. linux设备驱动归纳总结(三):2.字符型设备的操作open、close、read、write【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-59417.html linux设备驱动归纳总结(三):2.字符型设备的操作open.close.rea ...

  6. linux设备驱动归纳总结(三):1.字符型设备之设备申请【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-59416.html linux设备驱动归纳总结(三):1.字符型设备之设备申请 操作系统:Ubunru ...

  7. 【Linux开发】linux设备驱动归纳总结(三):2.字符型设备的操作open、close、read、write

    linux设备驱动归纳总结(三):2.字符型设备的操作open.close.read.write 一.文件操作结构体file_operations 继续上次没讲完的问题,文件操作结构体到底是什么东西, ...

  8. 【Linux开发】linux设备驱动归纳总结(三):1.字符型设备之设备申请

    linux设备驱动归纳总结(三):1.字符型设备之设备申请 操作系统:Ubunru 10.04 实验平台:S3C2440 + linux2.6.29内核 注:在今后驱动程序的学习中经常需要查看内核源代 ...

  9. 嵌入式Linux学习笔记(三) 字符型设备驱动--LED的驱动开发

    在成功构建了一个能够运行在开发板平台的系统后,下一步就要正式开始应用的开发(这里前提是有一定的C语言基础,对ARM体系的软/硬件,这部分有疑问可能要参考其它教程),根据需求仔细分解任务,可以发现包含的 ...

随机推荐

  1. MySQL的预编译功能

      1.预编译的好处 大家平时都使用过JDBC中的PreparedStatement接口,它有预编译功能.什么是预编译功能呢?它有什么好处呢? 当客户发送一条SQL语句给服务器后,服务器总是需要校验S ...

  2. C++学习笔记: 智能指针

    c++ 智能指针学习新的 class Simple { public: Simple() { number = param; std::cout << "Simple: &quo ...

  3. python学习之老男孩python全栈第九期_day025知识点总结——接口类、抽象类、多态、封装

    一. 接口类 java:面向对象编程 设计模式 -- 接口类 接口类:python原生不支持 抽象类:python 原生支持的 from abc import abstractclassmethod, ...

  4. Bzoj3277:串

    题面 传送门 Sol 广义\(sam\) 每个\(sam\)的状态开\(set\)记录属于哪些串 \(parent\)树上启发式合并\(set\) 然后每个串就在上面走,通过不停地跳\(parent\ ...

  5. js迪杰斯特拉算法求最短路径

    1.后台生成矩阵 名词解释和下图参考:https://blog.csdn.net/csdnxcn/article/details/80057574 double[,] arr = new double ...

  6. Android的第一个程序

    摘要:对于安卓的历史和安卓需要学习哪些东西以及怎么安卓环境,我就不在这里多说了,网上一大推. 我这里主要说的就是代码.一些基础的安卓知识.在接下来的每个月里我都会不定期写一些博客给初学者学习,我会尽量 ...

  7. Activiti实现会签功能

    一个任务需要多个角色进行审批或者表决,根据这些审批结果来决定流程的走向.实现以上任务,activiti已经提供了支持,可以使用BPMN规范的多实例活动来实现. 1.Activiti多实例: 多实例节点 ...

  8. elasticsearch 使用tcp 访问NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{Yk0WjtKbQXqYCJSDFRYlRA}

    默认的 elasticsearch.yml 端口是9200,是给tcp提供的.如果想使用 自带的  TransportClient 需要配置为 tcp 的9300端口.配置方式为: 在/config/ ...

  9. POP动画[2]

    POP动画[2] 1:定制控制器间的转场动画. 源码有点多-_-!! // // RootViewController.h // Animation // // Copyright (c) 2014年 ...

  10. 网站url常见报错

    报错情况比较复杂,此处列出比较常见的几种报错内容: 报错: 报错是一个大类, 的报错基本上是权限问题,出现 报错时您需要检测权限配置问题. 403.1 错误是由于“执行”访问被禁止而造成的.若试图从目 ...