微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > mt2503 进入Pluto Main menu Assert

mt2503 进入Pluto Main menu Assert

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
当修改了LCDsize或mainmenuiconsizeorimage后,编译OK,但是进入Mainmenu发生了Assert死机问题。
如果是在modis上,可以看到提示信息是:
Assertfail[1] Exception:<XPOS2&NBSP;-&NBSP;XPOS&NBSP;+&NBSP;1><YPOS2&NBSP;-
&NBSP;YPOS&NBSP;+&NBSP;1>gdi_layer_get_bit_per_pixel()>>3<= <<50>*<50>*16/8>
[SOLUTION]
下面的解决方法在11BW1308MP上验证通过。
分析流程:
在mtk_UI_show_fixed_matrix_menu中,有如下两处Assert:
#ifdef__MMI_MATRIX_MAIN_MENU_OPTIMIZE__
MMI_ASSERT((m->cache_bmp_x2-m->cache_bmp_x1+1)*(m->cache_bmp_y2-m-
>cache_bmp_y1+1)*gdi_layer_get_bit_per_pixel()>>3<=
MMI_MAIN_MENU_MATRIX_HIGHLIGHTED_BUF_SIZE);
#endif/*__MMI_MATRIX_MAIN_MENU_OPTIMIZE__*/
#ifdef__MMI_MATRIX_MAIN_MENU_OPTIMIZE__
MMI_ASSERT((xPos2-xPos+1)*(yPos2-yPos+1)*gdi_layer_get_bit_per_pixel()>>3<=
MMI_MAIN_MENU_MATRIX_HIGHLIGHTED_BUF_SIZE);
#endif/*__MMI_MATRIX_MAIN_MENU_OPTIMIZE__*/
所以,问题是MMI_MAIN_MENU_MATRIX_HIGHLIGHTED_BUF_SIZE定义的值太小了;
找到定义的地方:
/*cachebuffersizeforthematrixmainmenuhighlightedarea*/
#ifMAIN_MENU_HIGHLIGHTED_IMAGE_WIDTH>MAIN_MENU_HIGHLIGHTED_IMAGE_HEIGHT
#defineMMI_MAIN_MENU_MATRIX_HIGHLIGHTED_BUF_SIZE(MAIN_MENU_HIGHLIGHTED_IMAGE_WIDTH*MAIN
_MENU_HIGHLIGHTED_IMAGE_WIDTH*MMI_MAIN_BASE_LAYER_BITS_PER_PIXEL/8)
#else
#defineMMI_MAIN_MENU_MATRIX_HIGHLIGHTED_BUF_SIZE(MAIN_MENU_HIGHLIGHTED_IMAGE_HEIGHT*MAI
N_MENU_HIGHLIGHTED_IMAGE_HEIGHT*MMI_MAIN_BASE_LAYER_BITS_PER_PIXEL/8)
#endif
所以,根据当前的LCDsize,增大 MAIN_MENU_HIGHLIGHTED_IMAGE_WIDTH和
MAIN_MENU_HIGHLIGHTED_IMAGE_HEIGHT的值即可。

顶顶顶

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top