MTK 添加宏控方法

L版本及之后,MTK采用google 编译架构,不再采用kk版本之前架构,android,kernel,lk,preloader各模块相互独立,

projectconfig.mk 中定义的宏将仅作用到android 层
Version >= android 5.0

[SOLUTION]

由于Projectconfig.mk只作用于Android层,而kernel ,lk ,和preloader 是不起作用的,需要宏控制对应代码时,请分别在对应地方定义。具体可参考以下:

preloader部分:

如需宏控制pl这部分代码时,需在alps/bootable/bootloader/preloader/custom/project/(project).mk中增加需要的宏。

lk部分:

如需宏控制lk这部分代码时,需在alps/bootable/bootloader/lk/project/$(Project).mk文件中添加控制宏。

kernel部分:

如需宏控制kernel这部分代码时,参考以下步骤新增kernel config.

1.请在您的driver code所在目录中的Kconfig文件增加您的宏定义

具体怎么写可以参考Kconfig中的其他宏定义

举个例子:

config MTK_FB

bool “MediaTek Framebuffer Driver”

depends on FB

default y

select FB_SOFT_CURSOR

—help—

This selects the MediaTek(R) frame buffer driver.

If you want to use MediaTek(R) frame buffer diver, say Y.

2.在您对应的kernel defconfig配置文件中(如:kernel-3.10/arch/arm/configs/(project)defconfig(useruserdebug)(project)_debug_defconfig(eng版本时需在此文件中配置))中设定您增加的宏的值,如 CONFIG_MTK_FB=y

3.在您的kernel代码中就可使用CONFIG_MTK_FB这个宏了

Android部分:

如需宏控制Android c,c++代码时,参考以下步骤

1.ProjectConfig.mk中定义您需要添加的宏CONFIG_XXX = yes

2.Android.mk中根据ProjectConfig.mk中添加的宏设定LOCAL_CFLAGS

ifeq ($(CONFIG_XXX),yes)

LOCAL_CFLAGS += -DCONFIG_XXX=yes

endif

3.接下来,您的code中就可以使用您定义的CONFIG_XXX宏了

务必注意,自L版本之后preloader/lk/kernel/android已经完全独立,代码不会有任何耦合,请参考以上方法设置控制宏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值