linux device driver Makfile
在PC机上编译适合本PC机kernel的单个模块的Makefile很容易写,在PC机上编译android内核的某个模块却有些不同:主要是指定内核和交叉编译工具的路径。具体如下:
Makefile 内容
ifneq ($(KERNELRELEASE), )
mymodule-objs := helloworld.o
obj-m := helloworld.o
else
PWD:=$(shell pwd)
KERNEL_DIR ?=$(ANDROID_PRODUCT_OUT)/obj/KERNEL_OBJ/
CROSS_COMPILE=$(ARM_EABI_TOOLCHAIN)
PWD:=$(shell pwd)
all:
make ARCH=arm $(CROSS_COMPILE) -C $(KERNEL_DIR) M=$(PWD) modules
clean:
rm -rf *.o modules.order *.ko Module.symvers
endif
对应的helloworld.c 如下
helloworld.c
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
static int __init hellokernel_init(void)
{
printk(KERN_INFO "Hello, kernel!n");
return 0;
}
static void __exit hellokernel_exit(void)
{
printk(KERN_INFO "Goodbye, kernel!n");
}
module_init(hellokernel_init);
module_exit(hellokernel_exit);
MODULE_LICENSE("Dual BSD/GPL");
MODULE_AUTHOR("XXX");
MODULE_DESCRIPTION("Test only");
运行时先在项目文件目录下运行
$ source build/envsetup.sh
和
$ lunch
选择编译项目选项 导入一些符号定义,最后即可运行mak执行本Makefile
$ make
生成的helloworld.ko 即是适合android 内核的文件,即可用insmod rmmod 将模块加入目标板的内核或从内去除。
另:如果将Makefile中的符号替换成对应的内容,即直接指定KERNEL_DIR和CROSS_COMPILE在android代码中的路径,则无需执行source 和lunch命令即可在任意标签页直接运行make 命令生成目标文件,对应的Makfile文件如下:
Makefile 内容:
mymodule-objs := helloworld.o
obj-m := helloworld.o
PWD:=$(shell pwd)
KERNEL_DIR=android_src_path/out/target/product/T37lchaudi/obj/KERNEL_OBJ/
CROSS_COMPILE=android_src_path/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin
PWD:=$(shell pwd)
all:
make ARCH=arm $(CROSS_COMPILE) -C $(KERNEL_DIR) M=$(PWD) modules
clean:
rm -rf *.o modules.order *.ko Module.symvers
其中android_src_path为anroid项目所在的目录。
PC OS verison:Ubuntu 12.04.2 LTS, kernel version:3.5.0-27-generic
目标板kernel version:3.0.50
相关知识
linux 绘画
Linux内字符串无法显示原因解析 (linux字符串不显示) – 后浪云
go项目部署到linux服务器
linux输出第一列数据库
Linux跨平台部署DotNetCore记录
嵌入式linux与ARM开发板的入门建议
Linux下的虚拟化技术安全可靠吗
Linux中查看各文件夹大小命令du
linux几种定时函数的使用
Linux服务器通过AWS命令行上传文件至S3
网址: linux device driver Makfile https://www.huajiangbk.com/newsview513580.html
上一篇: 融创绿城苏州桃花源景观方案设计课 |
下一篇: 科技园贴心管家物业服务方案.do |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039