jasmine1

mtk平台相关问题总结|mtk架构分析

0
阅读(1376)

mtk平台,相关问题总结

编译前请将..\custom\common\nvram_lid_statistics.h文件和tst文件夹的属性、plutommi\Customer\Customize下的GCML.txt改为可读写。

Release 版本的时候,MMI/MiscFramework/MiscFrameworkSrc/UCS2.c不能删除,因为,resgen要用倒ucs2.c

1:深路经覆盖浅路径文件

2:只有ADD_APPLICATION_MENUITEM,ADD_APPLICATION_MENUITEM2两种添加菜单方式

3:添加菜单的时候一定要,指定子菜单的个数

4:CmsWapMmsAdp.h文件中,如果是26项目,不要打开28开关

#define SUPPORT_MTK_6226

#if 0

#ifdef SUPPORT_MTK_6228

#define CMS_SURPPORT_PNG_BMP

#endif

#endif

5:Res_SAT.c中,如果用 移软的 库,要将

#ifndef CMS_NEW_APP

ADD_APPLICATION_MENUITEM((SERVICES_WAP_MENU_ID,MAIN_MENU_SERVICES_MENUID,0,SHOW,NONMOVEABLE|SHORTCUTABLE,DISP_LIST,

SERVICES_WAP_STRING_ID,SERVICES_WAP_IMAGE_ID));

#endif

注释掉

6ataAccountDef.h中添加

#include "custom_mmi_default_value.h"

用来防止

#ifdef MAX_GPRS_USER_NAME_LEN

#define MAX_GPRS_USERNAME                      MAX_GPRS_USER_NAME_LEN-1

#else

#define MAX_GPRS_USERNAME                      15

#endif

#ifdef MAX_GPRS_PASSWORD_LEN

#define MAX_GPRS_USERPASSWD                    MAX_GPRS_PASSWORD_LEN-1

#else

#define MAX_GPRS_USERPASSWD                    15

#endif

的偏差


mtk架构分析

1.1启动流程

1.1.1模拟器线程创建

由于代码是在模拟器中执行,所以代码中都带有一些win32程序的特征。比如模拟器的启动就是用典型的win32程序方式。在PixtelMMI.cpp文件里的函数WinMain就是模拟器的启动入口。里面包括了InitInstance和模拟器的消息循环,这些都是win32程序通用的,我们需要注意的只是InitApplication();

这个InitApplication();函数创建了几个线程,用这几个线程来模拟手机中的不同的任务线程。并且为这些任务创建了不同的消息队列。这些创建出来的线程的一切相关资料都保存在task_info_g1(一个结构数组)里面。包括消息队列的信息。此外,它还设置了一个timer,这个timer是模拟器用来模拟整个时钟震荡用的,以后需要使用timer的时候都是使用它的分频,它的周期

是100ms,不过这只是系统模拟的而已。这些创建的线程中其中有一个是主要的,此线程的入口函数是MMI_task,它在MMITask.c里面。


mtk架构分析:

http://bbs.16rd.com/forum.php?mod=viewthread&tid=454043&fromuid=28165

(出处: 一牛网)