原创 嵌入式linux编译外部驱动模块

2012-2-18 13:02 2313 12 12 分类: MCU/ 嵌入式

关于模块的编译,之前试验都是需要把模块放到内核相应的驱动目录下,然后再修改Kconfig和Makefile,

使用#make menuconfig配置后再#make modules,
昨晚同事讲座,PPT上提到有更简便直接的编译外部模块方法,可以参考Document/kbuild/目录下内容
Makefile内容如下
obj-m += <yourmodulename.o>
#如果有多个文件,比如两个,使用下面语句
#obj-m += module.o
#module-objs += file1.o file2.o
KPATH := <your_kernel_source_path>  #内核源码的位置变量
PWD := $(shell pwd)   #模块代码的当前目录,SUBDIRS需要
CROSS_ARCH :=\
ARCH=arm  CROSS_COMPILE=<your_toolchain>  #平台和交叉编译工具变量
default:
        $(MAKE) $(CROSS_ARCH) -C $(KPATH) SUBDIRS=$(PWD) modules
#这是真正的编译命令

clean:
        rm -rf *.cmd *.ko *.mod.c *.o *.order *.symvers
#清除所有编译生成文件
--end by tziang@hotmail.com

 

文章评论0条评论)

登录后参与讨论
我要评论
0
12
关闭 站长推荐上一条 /2 下一条