linux驱动编译文件夹下,Android Linux驱动模块编译方法

编译环境:

Android qcom platform

1、vendor目录下创建新文件夹,将源文件拷贝到新建文件夹下;

2、新建一个Kbuild文件,仅需一行搞定(如果只有一个.c源文件),如下:

obj-m := xxx.o注:$(obj-m) 列举出了哪些文件要编译成可装载模块。一个模块可以由一个文件或多个文件编译而成。如果是一个源文件,Kbuild Makefile只需简单的将其加到$(obj-m)中去就可以了。

3、新建一个Makefile.am文件,如下:

PWD := $(shell pwd)

all-local:

$(MAKE) -C $(KERNELDIR) M=$(PWD) modules注:PWD 获取当前目录

KERNELDIR 内核头文件所在目录

Make -c 在所有操作前切换到“目录”

M=$(PWD) modules 是传给makefile的参数

4、新建一个Android.mk文件,如下:

ifeq ($(call is-vendor-board-platform,QCOM),true)

LOCAL_PATH := $(call my-dir)

DLKM_DIR := device/qcom/common/dlkm

include $(CLEAR_VARS)

LOCAL_MODULE:= xxx.ko

LOCAL_MODULE_TAGS := debug

include $(DLKM_DIR)/AndroidKernelModule.mk

endif注:DLKM_DIR 指定AndroidKernelModule.mk的路径,这个mk设置了内核模块编译的一些参数

5、cd到新建文件夹 mm 搞定~~