MTK技术总结1
一、 环境与编译注意
在编译生成版本之前需要对环境目录进行修改,将/SUNNY26_05C.W06.16_F1_MMI/make目录下的Option.mak文件中
DIR_ARM = c:/Progra~1/ARM/RVCT
DIR_ARM = c:/progra~1/arm/adsv1_2
ARM环境的安装目录对应正确。否则make有两个error,提示app错误
当用make或Res_Generator.bat生成时,如果出现“找不到文件 – SB_JWPSET.PBM”则正确,否则错误。
一般使用sourceInsight和make配合使用,然后在debug中运行。或用VC编程序调试。注意VC模拟器和make之间有差别
在#if #else等地方可能有多条一样的语句需要添加。
已经有一模拟器不能再运行另一个模拟器,会出现问题
--------------------Configuration: PixtelMMI - Win32 Debug--------------------
Linking...
LINK : fatal error LNK1168: cannot open Debug/PixtelMMI.exe for writing
Error executing link.exe.
PixtelMMI.exe - 1 error(s), 0 warning(s)
添加菜单最好使用代码比较工具用现成工程添加
Make出错判断:
build/SUNNY_F181/ MT6226M.log连接错误
build/SUNNY_F181/log编译错误
二、 plutommi/Customer/CustResource/PLUTO_MMI/ref_list.txt
添加字符串资源
最后
STR_ID_TEST_MYTEST Undefined 20 MYTEST MYTEST 我的测试 我的测试 MYTEST MYTEST MYTEST
三、 plutommi/mmi/Inc/ GlobalMenuItems.h
菜单ID
//zdd begin 20050929 added for kkclub download
MENU_SETTING_WALLPAPER_KKCLUB,
MENU_SETTING_SS_KKCLUB,
MENU_SETTING_POWER_ON_KKCLUB,
MENU_SETTING_POWER_OFF_KKCLUB,
MENU_TONE_SETUP_KKCLUB,
//zdd end 20050929 added for kkclub download
//zdd++ 20060414 for new kkclub
MENU_KKCLUB_OPTION,
MENU_KKCLUB_OPTION_BACK,
MENU_KKCLUB_OPTION_CHANGEMENU,
MENU_KKCLUB_OPTION_DOWNLODAMENU,
MENU_KKCLUB_OPTION_CLEARHISTORY,
//zdd-- 20060414
MENU_MYTEST,//yangpeng*****************
MENU_MYTESTINSIDE,//yangpeng***************
四、 plutommi/mmi/Inc/PixtelDataTypes.h
应用程序ID
#ifdef EBOOK_SUPPORT //zdd 20051122
APP_TXTVIEWER
#endif
//!!added by hukangshuai 20060420
#ifdef DZD_SUPPORT
,APP_DZD,
#endif
//!!end
APP_MYTEST//yangpeng****************
} APPLICATION_DEPLOY
应用程序范围
/*Schedule FM Radio Record*/
RESOURCE_BASE_RANGE(FM_SCHEDULE_REC, 200),
/*Background Sound Effect*/
RESOURCE_BASE_RANGE(BG_SOUND, 200)
//!!added by hukangshuai 20060420
#ifdef DZD_SUPPORT
RESOURCE_BASE_RANGE(DZD, 500)
#endif
,RESOURCE_BASE_RANGE(MYTEST,600)//yangpeng******************注意逗号
//!!end
} RESOURCE_BASE_ENUM;
应用程序结构定义
实际是应用程序名与应用程序基本id
/****************************************************************************
* Background Sound Effect
*****************************************************************************/
#define BG_SOUND_BASE ((U16) RESOURCE_BASE_BG_SOUND)
#define BG_SOUND_BASE_MAX ((U16) RESOURCE_BASE_BG_SOUND_END)
RESOURCE_BASE_TABLE_ITEM(BG_SOUND)
/****************************************************************************
* MyTest//yangpeng
*****************************************************************************/
#define MYTEST_BASE ((U16) RESOURCE_BASE_MYTEST)
#define MYTEST_BASE_MAX ((U16) RESOURCE_BASE_MYTEST_END)
RESOURCE_BASE_TABLE_ITEM(MYTEST)
五、 plutommi/tool/QMMINWSimulatorV2/PixtelDataTypes.h
定义程序基本值
#define MYTEST_BASE 70000 //yangpeng*****
六、 plutommi/Customer/CustomerInc/PopulateRes.h
资源函数声明(1)
//!!added by hukangshuai 20060420
#ifdef _KDZD_
void PopulateDZDRes(void);
#ifdef _TSW_
void PopulateTSWRes(void);
#endif
#ifdef __VOCABULARY__
void PopulateVocabularyRes(void);
#endif
#endif
//!!end
void populateMyTest (void);//yangpeng*****************
七、 plutommi/mmi/Resource/ PopulateRes.c
资源函数建立
作用为负责程序菜单的创建
//!!added by hukangshuai 20060420
#ifdef _KDZD_
extern void PopulateDZDRes(void);
#ifdef _TSW_
extern void PopulateTSWRes(void);
#endif
#endif
//!!end
extern void populateMyTest (void);//yangpeng*****************
添加应用程序
ADD_APPLICATION(应用程序id,应用程序名,应用程序最小范围,应用程序最大范围)
//!!added by hukangshuai 20060420
#ifdef _KDZD_
ADD_APPLICATION(APP_DZD, "DZD Application", DZD_BASE, DZD_BASE + 499);
#endif
//!!end
此
ADD_APPLICATION(APP_MYTEST,"MyTest",MYTEST_BASE,MYTEST_BASE_MAX);//yangpeng***************
定位资源
//!!added by hukangshuai 20060420
#ifdef _KDZD_
PopulateDZDRes();
#endif
//!!end
PRINT_INFORMATION(("Populating MyTest/n"));//yangpeng************
populateMyTest();
八、 plutommi/Customer/ResGenerator/readexcel.c
自己的资源定位函数可能要报错
Enum_list.h的错误
添加#include "TestDefs.h"
九、 plutommi/Customer/CustResource/PLUTO_MMI/Res_MMI
定位资源函数实现
建立Res_MyTest.c文件
/**************************************************************
FILENAME : Res_FunAndGames.c
PURPOSE : Populate Resource for FunAndGames
REMARKS : nil
AUTHOR : Yogesh
DATE : August-16-2003
**************************************************************/
#include "MMI_features.h"
#include "StdC.h"
#include "CustomCfg.h"
#ifdef FIRST_PASS
#include "BuildCfg.h"
#endif
#include "ComposeRingToneDefs.h"
#include "DownloadDefs.h"
#include "TestDefs.h"
#include "ComposeRingToneEngineDefs.h"
#ifdef DEVELOPER_BUILD_FIRST_PASS
#include "PopulateRes.h"
void populateMyTest(void)//cui.xiaoliang
{
// ADD_APPLICATION_STRING2(STR_SCR14000_TEST_CAPTION,"Test","Menu Theme String");
ADD_APPLICATION_MENUITEM((MENU_MYTESTINSIDE,MENU_MYTEST,
0, 0,MOVEABLEACROSSPARENT|SHORTCUTABLE,1,STR_ID_TEST_MYTEST,0));
}
#endif
十、 plutommi/tool/QMMINWSimulatorV2/ GlobalMenuItems.h
菜单ID
#if defined(__MMI_VERSION_2__)
MAIN_MENU_MULTIMEDIA_MENUID,
MAIN_MENU_FILE_MNGR_MENUID,
MAIN_MENU_EXTRA_MENUID,
MENU_MYTEST,
MENU_MYTESTINSIDE,