# driver_study **Repository Path**: fxyy/driver_study ## Basic Information - **Project Name**: driver_study - **Description**: 驱动学习代码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-08-18 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README KERNELDIR = /lib/modules/$(shell uname -r)/build #此变量存储ubuntu内核的源代码树路径 obj-m += hello_world.o #obj-m :表示会生成内核模块 #hello_world.o 生成模块的中间文件,名字和模块的名字要一致 all: $(MAKE) -C $(KERNELDIR) M=$(shell pwd) #最终生成hello_world.ko,-> 模块 #$(MAKE): 内核Makefile的语法 -》 make #-C : 指定模块编译时依赖的内核源码路径 #M :指定当前模块所在的路径 clean: $(MAKE) -C $(KERNELDIR) M=$(shell pwd) clean ####################### 使用说明: 1. 编译:make 2. 修改Makefile时一般需要修改的部分: obj-m:需要编译的模块的名称的中间名称:如hello_world.o KERNELDIR:模块编译需要依赖的内核源代码的路径 3. 加载模块到内核:(root身份) insmod hello_world.ko 4. 卸载模块: rmmod hello_world 5. 查看当前加载到系统的模块: lsmod lsmod | grep "hello_world" 6. 查看系统日志信息: dmesg dmesg | tail -10 dmesg -c //清空日志