Android 不同分辨率的LCM进行兼容(2)

对于U-boot logo,只需要将不同分辨率的图片压缩至logo.bin中,在读取时根据不同的索引显示相应的图片即可
 而对于Kernel logo,我们需要将不同分辨率的boot_logo raw data文件生成出来并copy到手机中,boot_logo_updater根据不同的分辨率进行识别,读取相应的logo文件。
 以qhd与hd720两种分辨率相互兼容为例,方案大致如下,注意,logo的对应需要贵司自行完成
lcm driver中实现compare id接口
U-boot logo压缩,在mediatek\custom\common\lk\logo\rules.mk中,修改RESOURCE_OBJ_LIST列表,使用期望的分辨率代替BOOT_LOGO变量,(makefile中BOOT_LOGO的定义将无效)
RESOURCE_OBJ_LIST :=  \
            $(BOOT_LOGO_DIR)/$qhd/$qhd_uboot.raw \
                …
                …
        $(BOOT_LOGO_DIR)/$hd720/$hd720_uboot.raw \
                …
                …

记录每组分辨率插入的raw data个数
mt_disp_show_boot_logo();函数中根据LCM的分辨率读取相应id的uboot logo;对于ipo快速开机,请在目录mediatek\external\ipod\bootlogo.cpp中的mt65xx_disp_show_boot_logo();做同样的修改
5.此步骤在不同的SW版本上修改的文件不同。在JB上,修改mediatek\custom\common\lk\logo\rules.mk修改如下内容:
#########################################################
ifneq ($(strip $(MTK_PLATFORM)),)
 include $(CLEAR_VARS)

LOCAL_MODULE :=boot_logo_qhd
 LOCAL_MODULE_TAGS :=user
 LOCAL_MODULE_CLASS := DATA
 LOCAL_MODULE_PATH := $(TARGET_OUT)/media/images

LOCAL_GENERATE_CUSTOM_FOLDER := custom:lk/logo
 LOCAL_SRC_FILES := custom/$(LOCAL_MODULE)

include $(BUILD_PREBUILT)
 endif
 
 #########################################################
 ifneq ($(strip $(MTK_PLATFORM)),)
 include $(CLEAR_VARS)

LOCAL_MODULE :=boot_logo_hd720
 LOCAL_MODULE_TAGS :=user
 LOCAL_MODULE_CLASS := DATA
 LOCAL_MODULE_PATH := $(TARGET_OUT)/media/images

LOCAL_GENERATE_CUSTOM_FOLDER := custom:lk/logo
 LOCAL_SRC_FILES := custom/$(LOCAL_MODULE)

include $(BUILD_PREBUILT)
 endif
在JB2上,在文件mediatek\external\boot_logo_updater\Android.mk中添加上述的内容,注意不要添加语句
LOCAL_MODULE_TAGS :=user,否则编译不通过。
6.此步骤在不同的SW版本上修改方法不同。在JB上,\build\core\user_tags.mk中GRANDFATHERED_USER_MODULES增加boot_logo_qhd & boot_logo_hd720;在JB2上,\build\target\product\$Project.mk中PRODUCT_PACKAGES增加boot_logo_qhd & boot_logo_hd720
 7. 在boot_logo_updater中首先定义两种raw data的路径,再在main函数中根据LCM的分辨率读取相应的raw data文件

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/a8db7ff449ef5ea8f1cf686abe921d9e.html