本文主要总结关于动态的添加驱动模块的方法:
1. 把test.c文件放到YLP2440的根目录下,(和板子里用的内核相同的内核版本),YLP2440是这个内核再PC中的文件目录2.
然后修改YLP2440根目录的Makefile文件,在头部添加如下代码:
obj-m := test.o
KERNELDIR := /root/test/YLP2440
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD)
modules_install
3. make 4. make结束后生成test.ko文件,然后把它放到文件系统中,新做一个cramfs文件系统,下载到板子里5.启动板子,然后在test.ko文件目录下输入:insmod test.ko 6. 完成
上述代码中,modules和modules_install为什么要取这个名字我也不知道,另一种代码写法是这样的:
obj-m := test.o
KERNELDIR := /root/test/YLP2440
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules |