[笔记]Android中在外部编译kernel module示例
来源:互联网 发布:阿里云域名可以转让吗 编辑:程序博客网 时间:2024/06/04 19:42
1.Android.mk
LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optionalLOCAL_MODULE := test.ko
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_RELATIVE_PATH := modules
LOCAL_SRC_FILES := $(LOCAL_MODULE)
include $(BUILD_PREBUILT)
ifeq ($(TARGET_BUILD_VARIANT),user)
DEBUGMODE := BUILD=no
else
DEBUGMODE := $(DEBUGMODE)
endif
ifeq ($(KERNEL_UBOOT_USE_ARCH_ARM64), true)
EXT_FLAGS := ARCH=arm64 CROSS_COMPILE=aarch64-linux-android-
endif
$(LOCAL_PATH)/test.ko: bootimage
$(MAKE) -C $(shell dirname $@) $(EXT_FLAGS) $(DEBUGMODE) KDIR=$(ANDROID_PRODUCT_OUT)/obj/KERNEL clean
$(MAKE) -C $(shell dirname $@) $(EXT_FLAGS) $(DEBUGMODE) KDIR=$(ANDROID_PRODUCT_OUT)/obj/KERNEL
2.Makefile
ARCH ?= arm
export CONFIG_TEST_KO=m
all: $(UMP_SYMVERS_FILE)
$(MAKE) ARCH=$(ARCH) -C $(KDIR) M=$(CURDIR) modules
clean:
$(MAKE) ARCH=$(ARCH) -C $(KDIR) M=$(CURDIR) clean
kernelrelease:
$(MAKE) ARCH=$(ARCH) -C $(KDIR) kernelrelease
3.Kbuild
test-y += test_ko.o
obj-$(CONFIG_TEST_KO) := test.o
4.test_ko.c
#include <linux/module.h>
#include <linux/string.h>
static int __init test_module_init(void)
{
printk(KERN_DEBUG "test_module_init");
return 0;
}
static void __exit test_module_exit(void)
{
printk(KERN_DEBUG "test_module_exit");
}
module_init(test_module_init);
module_exit(test_module_exit);
MODULE_LICENSE("GPL");
0 0
- [笔记]Android中在外部编译kernel module示例
- 在android手机中添加一个新的kernel module
- Kernel中Module调用编译问题
- linux kernel、module编译
- 在eclipse中添加外部nodejs module
- Android kernel 下载编译笔记
- 在Android中单独编译linux kernel驱动模块
- 在kernel中编译单独的.ko
- 在君正M200平台android编译系统中集成kernel
- Linux Kernel 学习笔记1:module的基本结构和编译
- linux kernel module 编译和加载
- android 在kernel中获取启动kernel命令行的参数
- 怎样在Android Studio中导入Module
- QML在Android上加入外部图片示例
- 编译Android中的module
- 下载编译android kernel
- 下载编译android kernel
- Android的Kernel编译
- spannablestring用在fragment中,设置点击监听无效
- 第一次使用Ubuntu的总结
- IOS之block与闭包
- iOS音频播放 (八):NowPlayingCenter和RemoteControl
- 关于navicat连接oracle报错ORA-28547
- [笔记]Android中在外部编译kernel module示例
- hadoop配置
- Intents and Intent Filters
- iOS移动开发中监听键盘移动的事件,自动调整view-(1)-UIKeyboardFrameEndUserInfoKey
- linux统计文件中字符串出现次数
- Linux定时器实现
- javascript的引用类型
- Android开发问题汇总
- internet explore遇到常见问题