【驱动编写的时候的问题】

安卓编译命令:

1. source build/envsetup.sh    //载入资源
2. lunch
3. make -j8   //全部编译

如果部分快速编译:

make -j8 pl
make -j8 lk
make -j8 kernel
make -j8 kernel bootimage //快速编译内核
make -j8 systemimage
make clean
make clean-pl
make clean-lk
make clean-kernel

如果出现类似的错误,在make执行之前,执行以下内容。

export LC_ALL=C
make clean 

编译内核时候的小知识

在写驱动的时候,makefile 里面的obj-y或者obj-m是不同的,区别是:
1.obj-m表示把文件test.o作为"模块"进行编译,不会编译到内核,但是会生成一个独立的 “test.ko” 文件;
2.obj-y表示把test.o文件编译进内核;
以happy.c为例,

ccflags-y += -I$(srctree)/drivers/misc/mediatek/car/include/
obj-y += happy.o

或者

ccflags-y += -I$(srctree)/drivers/misc/mediatek/car/include/
obj-m += happy.o

注意

将写完的简单驱动,放到自己项目代码编译,检查能否编译到自己项目的内核里面,之后依次执行安卓编译命令,查看是否项目下out/target/product/$PROJECT/obj/KERNEL_OBJ目录,在编译之前,请先将原本的KERNEL_OBJ目录移除,然后编译,如果成功,就会生成新的KERNEL_OBJ目录

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值