本文共 628 字,大约阅读时间需要 2 分钟。
一、内核模块
1.内核模块的编译
在内核源码树之外编译时,Makefile写法:
obj-m := hello.oKERNELBUILD := /lib/modules/$(shell uname -r)/builddefault: make -C $(KERNELBUILD) M=$(shell pwd) modulesclean: rm -rf *.o *.ko *.mod.c .*.cmd *.markers *.order *.symvers .tmp_versions
在内核源码树中编译时,Makefile写法:
Kconfig文件
config HELLO tristate "New Hello"
Makefile文件
obj-$(CONFIG_HELLO) += hello.o
2.操作内核模块常用命令
insmod hello.ko:加载内核模块
modprobe hello:加载内核模块
rmmod hello.ko:卸载内核模块
lsmod:列出当前内核使用的模块
modinfo hello.ko:查看模块文件的基本信息
二、调试驱动
cat /proc/devices:查看系统支持的字符设备驱动、块设备驱动以及对应的主设备号。
dmesg:查看系统的启动信息。
cat /proc/ioports或/proc/iomem:查看设备的I/O内存物理地址。
cat /proc/interrupts:查看正在使用的中断号。
转载地址:http://ergai.baihongyu.com/