MTK平台入门

MTK平台入门 

1 简介

1.1 目的及其应用范围

本文档介绍了mtk平台的一些基础应用和实现,适用于刚参加mtk软件开发人员

1.2 术语定义

MMI – Man-machine interface,人机界面

FMI – Feature rich MMI,功能丰富的人机界面

1.3 参考资料

[1] MMI High level design specification, pixtel

2 平台安装:

2.1 安装ads1.2

2.2 安装perl

2.3 安装usb 驱动,用于下载

3 编译命令:

   通过 new, update, remake, clean all, clean modules, codegen. 来动作生成bin file (二进字文件)

类如:

假设项目是gsm项目,项目名称为m720,则有这些命令:

make custom=m720 gsm resgen(修改了资源时用这个命令生成新资源)

make custom=m720 gsm remake(用于生成bin档即可烧录到手机的文件)

make custom=m720 gsm clean  custom(把custom模块生成的obj文件删除)

make custom=m720 gsm update customupdate custom 模块)

make custom=m720 gsm new(等于执行了前三个步骤,即cleanresgenremake

make custom=m720 gsm update mmiresource(更新了资源但不会更新代码)

4 添加一个字符串:

首先给该字符串起一个名字,即ID:如STR_GLOBAL_OK,这个即是一个字串的id也就是名字,而这个字串的具体内容(比如STR_GLOBAL_OK的内容是“Ok”),可以用下面的语句来添加,

ADD_APPLICATION_STRING2(STR_GLOBAL_OK, "Ok","Global String- OK");

如果有对应的中文字符,则应在ref_list.txt中按照固定的格式添加中文字串。如:

STR_GLOBAL_OK GLOBAL 6 Global String- OK Ok 確定 确定

5 添加一个菜单:

首先给这个菜单起一个名字,即ID:如ORGANIZER_CALENDER_MENU,这个即是一个菜单的id也就是名字,但要把这个菜单加入到某个父菜单之下,则须指定其父菜单,方式可以参照:ORGANIZER_CALENDER_MENU这个菜单的方法,在res_mainmenu.c里,

ADD_APPLICATION_MENUITEM((MAIN_MENU_ORGANIZER_MENUID,IDLE_SCREEN_MENU_ID,ORG_ENUM_TOTAL,

#if defined(__MMI_CALENDAR__)

ORGANIZER_CALENDER_MENU,

#endif

#if defined(__MMI_TODOLIST__)

ORGANIZER_TODOLIST_MENU,

#endif

ORGANIZER_ALARM_MENU,

#if defined (__MMI_WORLD_CLOCK__)

ORGANIZER_WORLDCLOCK_MENU,

#endif

#ifdef __MMI_MESSAGES_CLUB__

MAIN_MENU_SHORTCUTS_MENUID,

#endif

#ifdef __SLT_LONG_DISTANCE_DDD__

MENU_LONG_DISTANCE_DDD,

#endif

SHOW,

MOVEABLEACROSSPARENT,

DISP_LIST,

MAIN_MENU_ORGANIZER_TEXT,

MAIN_MENU_ORGANIZER_ICON

));

这个语句说明菜单ORGANIZER_CALENDER_MENU是菜单MAIN_MENU_ORGANIZER_MENUID的子菜单。而在res_organizer.c里,

ADD_APPLICATION_MENUITEM((ORGANIZER_CALENDER_MENU,MAIN_MENU_ORGANIZER_MENUID,

3,

MENU_GOTO_TASK_CAL,

MENU_ID_CLNDR_JUMP_TO_DATE,

MENU_CAL_TYPE,

SHOW,

MOVEABLETOSHORTCUT,DISP_LIST,

ORGANIZER_MENU_CALENDER_STRINGID,

ORGANIZER_MENU_CALENDER_IMAGEID

));

这个语句则声明了ORGANIZER_CALENDER_MENU菜单所拥有的子菜单。

1. 关于宏ADD_APPLICATION_STRING2()ADD_APPLICATION_MENUITEM()可以参考文件Writing Applications Using Pixtel MMI Platform.pdf

更深入的了解可以查看文件夹Document/MMI Design Documents/Pixtel下的文件。

6 下载程序:

在当前工程build文件夹中找到对应的项目,打开项目文件夹,里面有*.bin文件就是我们要下载的文件。

7 编译错误信息查看:

如果在编译中某一模块编译不通过,我们可以在build/项目名称/log 中查看log信息

8 模拟器运行:

  首先安装好VC,然后直接运行工程目录下的PLUTOMMI/mmi/PixtelMMI.dsw文件,先编译资源文件,然后执行运行就可以了。

9 修改铃声资源:

一般项目开发修改的铃声资源主要是来电铃声,开关机铃声,翻合盖提示音,信息提示音

9.1.修改来电闹钟铃声资源: 

修改的文件是custpack_audio.c中

const custpack_audio_header custpack_audio = 

{ 15,

{

{Y300Mid01_mp3, sizeof(Y300Mid01_mp3), 5},

{Y300Mid02_mid, sizeof(Y300Mid02_mid), 17},

{Y300Mid03_mid, sizeof(Y300Mid03_mid), 17},

{Y300Mid04_mid, sizeof(Y300Mid04_mid), 17},

{Y300Mid05_mid, sizeof(Y300Mid05_mid), 17},

{Y300Mid06_mid, sizeof(Y300Mid06_mid), 17},

{Y300Mid07_mid, sizeof(Y300Mid07_mid), 17},

{Y300Mid08_mid, sizeof(Y300Mid08_mid), 17},

{Y300Mid09_mid, sizeof(Y300Mid09_mid), 17},

{Y300Mid10_mid, sizeof(Y300Mid10_mid), 17},

{Y300Mid11_mid, sizeof(Y300Mid11_mid), 17},

{Y300Mid12_mid, sizeof(Y300Mid12_mid), 17},

{Y300Mid13_mid, sizeof(Y300Mid13_mid), 17},

{Y300Mid14_mid, sizeof(Y300Mid14_mid), 17},

{Y300Mid15_mp3, sizeof(Y300Mid15_mp3), 5},

}

 custpack_audio 数组 第一个参数是铃声总数

                    第二个参数是铃声list ,其中包含铃声数据,大小,类型,

铃声数据可以用MCT 这个工具转换,然后代替各个数组的数据,提示最好不要修改数组名称

类型可以在mdi_audio.h 中查找,类如 这里的代表mp317代表mid

             

9.2修改开关机铃声,翻合盖提示音,信息提示音

resource_audio.c---------------------开关机铃声,翻合盖提示音,信息提示音

开关机铃声和翻合盖提示音对应的数组是一样的

const audio_resource_struct mtk_resource_sounds[]={

{resource01_mid, sizeof(resource01_mid), 17},

{resource02_mid, sizeof(resource02_mid), 17},

{resource03_mid, sizeof(resource03_mid), 17},

{resource04_mid, sizeof(resource04_mid), 17},

{resource05_mid, sizeof(resource05_mid), 17},

{resource06_mid, sizeof(resource06_mid), 17},

{resource07_mid, sizeof(resource07_mid), 17},

{resource08_mid, sizeof(resource08_mid), 17},

};

信息提示音对应的数组是:

const audio_resource_struct mtk_resource_message_sounds[]={

{message01_mp3, sizeof(message01_mp3), 5},

{message02_mp3, sizeof(message02_mp3), 5},

{message03_mid, sizeof(message03_mid), 17},

{message04_mid, sizeof(message04_mid), 17},

{message05_mid, sizeof(message05_mid), 17},

{message06_mid, sizeof(message06_mid), 17},

{message07_mid, sizeof(message07_mid), 17},

{message08_mid, sizeof(message08_mid), 17},

{message09_mid, sizeof(message09_mid), 17},

{message10_mid, sizeof(message10_mid), 17},

};

9.3 调整铃声总数和id

resource_audio.h--------------------设置铃声id 和总数

铃声ID大小不需要调整,只是根据铃声总数变了,增加或者减少ID

10 修改图片资源:

添加图片资源一般用这个函数:ADD_APPLICATION_IMAGE2, 它的参数分别是:图片ID,图片放置路径,图片用途描述。类如:

ADD_APPLICATION_IMAGE2( MAIN_MENU_SYSTEM_ICON , CUST_IMG_PATH"MainLCDMainMenuBI_DEGREEMM_ITEM.gif" , "Icon used for system in mainmenu" );

图片资源的修改主要分几种情况:

10.1   直接替换图片资源,不需要调整座标:类如开关机动画,墙纸,开关机mp4等,这种修改资源很简单,但是修改时要注意图片来名称和类型与代码中是否匹配。

10.2   修改需要调整座标的图片:如日历,计算器等,这些图片修改需要ID给出座标,然后我们在代码中修改。

10.3   修改用tools生成座标的图片:主要是MP3 MP4 FM,世界时钟,座标调整可以用mct tools 来做。关于这个工具的使用

10.4  主题的修改也可以mct tools 来做

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值