1. printk:printk内核态,printf用户态(没什么用)

打印级别内核把级别比命令行低的所有消息显示在终端(console)上。但是所有信息都会记录在printk的“ring buffer”中。

cat /proc/sys/kernel/printk(4 4 1 7)(比4小的能显示)
echo 4 > /proc/sys/kernel/printk(更改级别)
但是Ubuntu中中不管级别是怎样,都不能显示,必须dmesg日志等级:

  1. 头文件:

include <linux/init.h> // __init __exit
__init和__exit在F:\winshare\kernel\jiuding_kernel\include\linux\init.c中定义

include <linux/module.h> // module_init module_exit

__module_init &module_exit在F:\winshare\kernel\jiuding_kernel\include\linux\module.h中定义
注:应用编程头文件包含应用层的头文件,是应用程序的编译器带来的,与OS无关驱动头文件是内核源码的一部分,所以头文件是kernel下的include文件里的头文件,即F:\winshare\kernel\jiuding_kernel\include是默认被包含进来的。所以只需要写include文件夹里面的路径包含。
推测:如果想自己添加头文件,需要在F:\winshare\kernel\jiuding_kernel\include里添加????

  1. makefile

KERN_DIR = /root/driver/kernel 内核源码树的目录
obj-m += module_test.o -m表示将module_test.c编译成一个模块
all: make -C $(KERN_DIR) M=pwd modules
打印:make -C /root/driver/kernel M=pwd modules 进入到内核源码树下去编译
(M=pwd把当前路径记录下来,保证进入到内核源码树目录/root/driver/kernel编译后仍能回来)
工作原理就是:利用make -C进入到我们指定的内核源码树目录下,然后在源码目录树下借用内核源码中定义的模块编译规则去编译这个模块,编译完成后把生成的文件还拷贝到当前目录下,完成编译。
cp: cp *.ko /root/porting_x210/rootfs/rootfs/driver_test将.ko文件挂载到共享目录文件夹下
.PHONY: clean 伪目标

转载于:https://www.cnblogs.com/Ocean-Star/p/9250267.html

5.2.4.最简单的模块源码分析3相关推荐

  1. Wifi模块—源码分析Wifi热点扫描2(Android P)

    一 前言 这次接着讲Wifi工程流程中的Wifi热点扫描过程部分的获取扫描结果的过程,也是Wifi扫描过程的延续,可以先看前面Wifi扫描的分析过程. Wifi模块-源码分析Wifi热点扫描(Andr ...

  2. python树状节点 可拖拽_Python 的 heapq 模块源码分析

    原文链接:Python 的 heapq 模块源码分析 起步 heapq 模块实现了适用于Python列表的最小堆排序算法. 堆是一个树状的数据结构,其中的子节点都与父母排序顺序关系.因为堆排序中的树是 ...

  3. Python 的 heapq 模块源码分析

    作者:weapon 来源:https://zhuanlan.zhihu.com/p/54260935 起步 heapq 模块实现了适用于Python列表的最小堆排序算法. 堆是一个树状的数据结构,其中 ...

  4. Wifi模块—源码分析Wifi热点扫描(Android P)

    一 前言 这次接着讲Wifi工程流程中的Wifi热点查找过程,也是Wifi启动的过程延续,Wifi启动过程中会更新Wifi的状态,框架层也有相应广播发出,应用层接收到广播后开始进行热点的扫描.可以先看 ...

  5. Wifi模块—源码分析Wifi启动(Android P)

    一.前言 Android P在wifi这块改动挺大的,Wifi到AndoidO之后不再使用jni,所以AndroidP也一样不再使用jni来实现Java代码与本地的C/C++代码交互,而是使用HIDL ...

  6. Wifi模块—源码分析Wifi启动2(Android P)

    一 前言 在上一篇分析了wifi启动的流程,从Android应用层一直分析到了Java框架层,这次我们接着往下走流程.如果没有看上一篇的建议先回头看看   Wifi模块-源码分析Wifi启动1(And ...

  7. dubbo源码分析系列——dubbo-cluster模块源码分析

    2019独角兽企业重金招聘Python工程师标准>>> 模块功能介绍 该模块的使用介绍请参考dubbo官方用户手册如下章节内容. 集群容错 负载均衡 路由规则 配置规则 注册中心参考 ...

  8. kafka源码愫读(5)、ReplicaManager模块源码分析

    1.ReplicaManager模块简介 replicaManager主要用来管理topic在本broker上的副本信息.并且读写日志的请求都是通过replicaManager进行处理的. 每个rep ...

  9. AndroidVideoCache简单使用及源码分析

    对于视频播放,如果需要用到缓存,AndroidVideoCach是一个不错的选择,该项目地址: https://github.com/danikula/AndroidVideoCache 优缺点: 优 ...

最新文章

  1. 95后架构师晒出工资单:狠补了这个,真香...
  2. 【alibaba-cloud】Gateway网关
  3. 天梯赛 L1-025 正整数A+B (15 分)
  4. Reactive Streams规范及常见库
  5. How to Leak a Context: Handlers Inner Classes
  6. python做逻辑回归r2_利用python实现逻辑回归
  7. 让子弹飞,零成本让你的网站更快一点,boxopened http/3 (QUIC) 协议实战
  8. 全局变量,静态局部变量,局部变量空间的堆分配和栈分配问题
  9. 3D脚本 maxscript入门教程(7)
  10. 揭开面纱:Kubernetes架构详解
  11. Meta Learning 入门:MAML 和 Reptile
  12. 结构专业规范大全_监理签字用语规范大全,就是这么专业!
  13. IT运维存在问题及改进
  14. 微表情识别,C++实现,编译为动态链接库
  15. 希尔贝壳受邀参会IEEE SLT 2021
  16. 国内智能音箱生态系统对比分析
  17. 公众号配图在哪里找?快来看看这里
  18. shell脚本小游戏
  19. 当地图与绘画结合,竟然能迸发出这样的精彩
  20. python保存turtle绘制的图片_turtle绘图保存png图片

热门文章

  1. 由IP和掩码计算广播地址
  2. YIFullScreenScroll
  3. python3.0内建函数大全_python3内置函数大全
  4. VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION
  5. Leetcode 141. 环形链表 解题思路及C++实现
  6. SpeedNet: Learning the Speediness in Videos
  7. Windows环境下32位汇编程序设计C版code--第五章(二)
  8. Ubuntu 9.10下在右键中添加以管理员身份打开,在终端中打开
  9. Node.js中模块加载机制
  10. ajax请求成功后location.href没有跳转