1.modutils中提供了相关的insmod,rmmod,modinfo工具2.modprobe在识别出目标模块所依赖模块后也是调用insmod.3.从外部看模块只是普通可重定位的目标文件。可重定位文件的函数都不会引用绝对地址,而只是指向代码中的相对地址,因此可以在内存 中的任意偏移地址加载。4. ...
分类:
系统相关 时间:
2018-10-03 20:38:02
阅读次数:
260
(一)驱动的安装: 1. 可以将驱动程序静态编译进内内核中 2. 也可以将它作为模块在使用的时候再加载 注:在配置内核时候,如果某个配置被设置为m,就表示它将会被编译成模块 (二)加载和卸载驱动使用命令(模块的拓展名为.ko) 1. insmod 命令加载 (使用示例:insmod first_dr ...
分类:
系统相关 时间:
2018-09-22 15:56:38
阅读次数:
147
第二章 快速参考 本节中出现的条目会以它们在文中出现的顺序列出: insmod modprobe rmmod 用来装载模块到正运行的内核和移除模块的用户空间工具: #include <linux/init.h> module_init(init_function); module_exit(clea ...
分类:
其他好文 时间:
2018-09-09 20:00:01
阅读次数:
123
1.新建文本文档,重命名为 hello_dev.c (驱动的开发同应用的开发一样,也是在文本文档下开发的)。 2.包含头文件 内核模块需要包含内核相关头文件,不同模块根据功能的差异,所需要的头文件也不相同,但是<linux/module.h>和<linux/init.h>是必不可少的。 #inclu ...
分类:
其他好文 时间:
2018-08-14 21:00:40
阅读次数:
718
Linux内核支持动态的加载模块运行:比如insmod first_drv.ko,这样就可以将模块加载到内核所在空间供应用程序调用。现在简单描述下insmod first_drv.ko的过程 1、insmod也是一个用户进程 2、insmod进程从命令行中读取要链接的模块名字:first_drv.k ...
分类:
系统相关 时间:
2018-08-13 12:16:51
阅读次数:
233
linux加载/卸载驱动有两种方法。 1.modprobe 注:在使用这个命令加载模块前先使用depmod -a命令生成modules.dep文件,该文件位于/lib/modules/$(uname -r)目录下; modprobe命令智能地向内核中加载模块或者从内核中移除模块,可载入指定的个别模块 ...
分类:
系统相关 时间:
2018-06-27 23:57:23
阅读次数:
339
缩写,是简介高效地表达 unix unix-like Linux 00、命令简写 ls:list(列出目录内容)cd:Change Directory(改变目录)su:switch user 切换用户rpm:redhat package manager 红帽子打包管理器pwd:print work ...
分类:
系统相关 时间:
2018-06-20 22:38:05
阅读次数:
281
ldd命令显示应用程序(二进制程序)所依赖的库文件lsmod显示当前被内核加载的模块也可以通过cat /proc/modules命令查看modinfo查看内核模块的信息,包括开发人员信息,依赖信息modprobe向内核增加或者删除指定模块默认是增加模块-r 删除模块再卸载btrfs模块depmod生成依赖关系内核模块依赖文件生成工具insmod/rmmodinsmod 向内核加载模块 &
分类:
系统相关 时间:
2018-06-14 23:16:36
阅读次数:
376
内核组成部分1、Kernel 2、Kernel Object 3、ramdisk查看kernel版本uname 管理kernel object工具lsmod modinfo modprobe insmod rmmod depmod与ramdisk相关的工具mkinitrd dracut启动流程POST->boot sequence->bootloader->加载kernel-&g
分类:
系统相关 时间:
2018-06-13 00:18:10
阅读次数:
313
驱动代码: 应用层代码: 插入模块: root@plnx_arm:/mnt# insmod mytest.ko ioremap called: phys 0x41200000 -> virt 0xf09f0000 测试设备号: 运行应用程序: ...
分类:
其他好文 时间:
2018-06-12 22:32:33
阅读次数:
349