本文主要是记录在调试驱动的阶段,我们可能会更倾向于使用模块插入的方式来进行驱动调试,这样可以大大缩短调试时间。之前在调试gt9xx Touch的时候也是采用这种方式,这里还是记录一下,日后方便查找。
/***************************************************************************
* linux kernel 模块多文件编译
* 声明:
* 本文主要是记录在调试驱动的阶段,我们可能会更倾向于使用模块插入的方式
* 来进行驱动调试,这样可以大大缩短调试时间。之前在调试gt9xx Touch的时候也
* 是采用这种方式,这里还是记录一下,日后方便查找。
*
* 2016-2-2 深圳 南山平山村 曾剑锋
**************************************************************************/
一、cat Makefile
ifneq ($(KERNELRELEASE),)
# gt9xxm.o去掉后缀就是生成的.ko的名字
# 多文件编译注意gt9xxm.o、gt9xxm-objs的命名方式
obj-m := gt9xxm.o
gt9xxm-objs := gt9xx.o gt9xx_update.o goodix_tool.o
else
KDIR := /home/zengjf/kernel # 指定内核所在的目录
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers *.order
endif
二、输出结果:
zengjf@zengjf:~/kernel/drivers/input/touchscreen/gt9xx$ ls -al
total 2348
drwxrwxr-x 3 zengjf zengjf 4096 Jan 26 20:14 .
drwxrwxr-x 3 zengjf zengjf 4096 Jan 27 18:40 ..
-rwxrw-rw- 1 zengjf zengjf 37261 Jan 26 11:50 goodix_tool.c
-rw-rw-r-- 1 zengjf zengjf 124592 Jan 26 11:50 goodix_tool.o
-rw-rw-r-- 1 zengjf zengjf 29395 Jan 26 11:50 .goodix_tool.o.cmd
-rwxrw-rw- 1 zengjf zengjf 89249 Jan 26 20:14 gt9xx.c
-rwxrw-rw- 1 zengjf zengjf 309322 Nov 28 2014 gt9xx_firmware.h
-rwxrw-rw- 1 zengjf zengjf 12086 Jan 26 11:50 gt9xx.h
-rw-rw-r-- 1 zengjf zengjf 559323 Jan 26 11:50 gt9xxm.ko
-rw-rw-r-- 1 zengjf zengjf 427 Jan 26 11:50 .gt9xxm.ko.cmd
-rw-rw-r-- 1 zengjf zengjf 2477 Jan 26 11:50 gt9xxm.mod.c
-rw-rw-r-- 1 zengjf zengjf 23044 Jan 26 11:50 gt9xxm.mod.o
-rw-rw-r-- 1 zengjf zengjf 18307 Jan 26 11:50 .gt9xxm.mod.o.cmd
-rw-rw-r-- 1 zengjf zengjf 537572 Jan 26 11:50 gt9xxm.o
-rw-rw-r-- 1 zengjf zengjf 434 Jan 26 11:50 .gt9xxm.o.cmd
-rw-rw-r-- 1 zengjf zengjf 178752 Jan 26 11:50 gt9xx.o
-rw-rw-r-- 1 zengjf zengjf 29794 Jan 26 11:50 .gt9xx.o.cmd
-rwxrw-rw- 1 zengjf zengjf 120272 Nov 28 2014 gt9xx_update.c
-rw-rw-r-- 1 zengjf zengjf 240220 Jan 26 11:50 gt9xx_update.o
-rw-rw-r-- 1 zengjf zengjf 29626 Jan 26 11:50 .gt9xx_update.o.cmd
-rw-rw-r-- 1 zengjf zengjf 239 Jan 25 17:20 Makefile
-rw-rw-r-- 1 zengjf zengjf 73 Jan 26 11:50 modules.order
-rw-rw-r-- 1 zengjf zengjf 0 Jan 25 17:01 Module.symvers
drwxrwxr-x 2 zengjf zengjf 4096 Jan 26 11:50 .tmp_versions
zengjf@zengjf:~/kernel/drivers/input/touchscreen/gt9xx$