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已经完全独立,代码不会有任何耦合,请参考以上方法设置控制宏。

更多相关文章

  1. Android中自定义DialogFragment解决宽度和高度问题
  2. ProgressBar:自定义旋转图片
  3. 字符串资源多国语言版本的出错问题
  4. 一行代码搞定三级缓存
  5. Android代码混淆-添加了Gson遇到的问题
  6. Android自定义相机开发相关知识点(全)

随机推荐

  1. android BroadcastReceiver遇到 java.lan
  2. android > 页面加载中,友情提示界面
  3. Android应用程序绑定服务(bindService)的过
  4. 判断网页是运行在iOS上还是Android上
  5. Android 天气预报图文字幕垂直滚动效果
  6. ubuntu出错,开机无法登录
  7. Android如何实现计算缓存空间大小和删除
  8. androidの读取短信内容
  9. Android(安卓)Task和Activity分析
  10. ImageView ScaleType 属性值的意义