标签:命令执行 world clip enter 基础 pil attribute 表示 kernel
本文转载自:http://blog.csdn.net/coding__madman/article/details/51298180
1. 什么是内核模块
内核模块具有以下两个特点:1. 模块本身并不被编译进内核文件(zImage或bzImage),可以根据需求,在内核运行期间动态的安装或卸载。
2. 为什么需要内核模块
原因:Linux内核的整体结构非常庞大,其包含的组件也非常多,如何使用这些组件呢,方法1:把所有的组件都编译键内核,即:zImage或bzImage,但这样会导致一个问题:占用内存过多。然后内核模块就诞生了,可以不用被编译进内核但是可以动态的添加到正在运行的内核中!
3. 如何使用内核模块
1> 安装模块 insmod filename.ko
2> 卸载模块 rmmod filename
3> 查看模块 lsmod
这里举一个简单的例子:
还是亘古不变的方式helloworld程序(不过这里没有main函数的)
三要素: 加载模块 、卸载模块、 头文件
Makefile文件
这里KDIR是我们内核源码的路径:
然后make 编译模块文件,这可可以看到生成了helloworld.ko文件
结合前面的课程这里可以通过串口终端同步看到(一下可以看到相关命令执行的效果)
内核模块的可选项:
1. 模块申明
2. 模块参数
3. 符号输出
标签:命令执行 world clip enter 基础 pil attribute 表示 kernel
原文地址:http://www.cnblogs.com/zzb-Dream-90Time/p/6254931.html