Android Linux驱动模块编译方法

来源:互联网 发布:我知道域名能干什么 编辑:程序博客网 时间:2024/06/06 03:28
编译环境:

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/dlkminclude $(CLEAR_VARS)LOCAL_MODULE:= xxx.koLOCAL_MODULE_TAGS := debuginclude $(DLKM_DIR)/AndroidKernelModule.mkendif
注:DLKM_DIR 指定AndroidKernelModule.mk的路径,这个mk设置了内核模块编译的一些参数


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




0 0