1、 MTK 平台基础培训 芯片介绍芯片介绍 平台软件版本平台软件版本 手机软件系统的构建过程手机软件系统的构建过程 平台手机主要有哪些平台手机主要有哪些Feature 代码的调试技巧代码的调试技巧 手机常用的工程命令手机常用的工程命令 下载及下载及TRACE工具介绍工具介绍 回调机制回调机制MTK芯片介绍芯片介绍BBCAMERAEDGEWCDMACPUBOOTUSBAUDIOVIDO REC6223C 10WNNARM7(52M)NORNAMR,DAF,AACAVI6223D NNNARM7(52M)NORNAMR,DAF,AACN622530WNNARM7(104M)NORYMP3,AMR,D
2、AF,AACAVI6235200WYNARM9(208M)NAND YMP3,AMR,DAF,AACAVI,MP46253200WNNARM7(104M)NORYMP3,DAF,AAC,WAV,AMRAVI,MP46268500WYYARM9(256M)NAND YMP3,DAF,AAC,WAV,AMRAVI,H.264,MP4MTK平台软件版本平台软件版本因为MTK平台是一套完整的手机方案,所以除了芯片外,还提供软件,而且软件版本,他们也会定期进行升级,现在每年会发布两次差异比较大的版本,命名为XXA,XXB,XX指的是哪年,例如08年的08A,08B.然后期间还会发布一些差异小的升级版本例
3、如:08AW0840MP_TIANYU25_08A_PMWY_V1_F1_MMI.rar08AW0840MP_TIANYU25_08A_PMWY_V1_F2_MMI.rar08AW0840MP_TIANYU25_08A_PMWY_V1_F3_MMI.rarMTK发布的软件版本存放在服务器ftp:/10.10.1.53/MTK Release Versions目录下。W0840 含义:08年第40周F1 F2 :修改过makefile,改动相对大些。P1 P2 :没修改过makefile,只是作为一个patch,改动相对小。MTK平台软件版本平台软件版本 例如:目前的版本是 08AW0840MP
4、_TIANYU25_08A_PMWY_V1_F1_MMI.rar 如果下次升级的版本修改过makefile,则版本为 08AW0840MP_TIANYU25_08A_PMWY_V1_F2_MMI.rar 如果下次升级没修改过makefile,则版本为 08AW0840MP_TIANYU25_08A_PMWY_V1_F1_P1_MMI.rarMTK手机软件系统的构建过程手机软件系统的构建过程 MTK的PC模拟版使用VC的编译器和链接器生成,ARM版使用ADS1.2的编译器和链接器生成,10A将使用RVCT3.1编译器。MTK的软件系统使用了windows下的UNIX 模拟环境MSYS,GNU开发
5、工具链(MinGW)来进行工程的管理、配置和构建,另外还使用了perl脚本来解析用户输入的命令行参数。MTK手机软件系统的构建使用了GNU的make,使得整个工程的构建可以自动进行,且可以灵活控制。整个构建过程由Make.bat、make2.pl、MoDIS.dsw、Gsm2.mak、Option.mak、_.mak等文件控制。Gsm2.mak是构建ARM版的核心Makefile文件,整个构建过程由其控制,其他是一些启动、选项配置、子过程的文件。在MTK手机软件系统的根目录下有一个批处理文件Make.bat,这个批处理文件启动了整个工程的构建过程。在windows的命令行下,在该系统的根目录下
6、输入命令make和相应的参数即可开始工程的构建,该批处理文件的使用方法如下所示。MTK手机软件系统的构建过程手机软件系统的构建过程Usage:make“customer”|“mt62xx”“project”“action”“modules”Example:TBG2608_09B_Make.bat TBG260813_7141 GPRS new如果用EA加速编译 ea_mtk TBG2608_09B_Make.bat TBG260813_7141 GPRS new 其中较常用的action有new、update、remake、gen_modis,codegen_modis这几个。new是全新开始
7、构建整个工程的ARM版,包括图片、声音、字符串等资源都要重做,依赖的其他动作最多,是最彻底也是耗时最长的一个动作。MTK手机软件系统的构建过程手机软件系统的构建过程 update是重新更新整个工程的ARM版,该动作会扫描工程中文件和库的依赖关系,若依赖关系有变化会建立新的依赖关系,随后根据新的依赖关系重新编译链接有改动的部分,一般在增加或删除一些驱动或应用的情况下需要用update。remake是重新编译整个工程的ARM版,该动作只是简单的重新编译链接有改动的部分,不检查依赖关系,是耗时最短的一个动作,也是最常用的动作。大家在开发过程中尽量使用remake,尽量少使用new。EA 加速软件,b
8、uild ARM软件尽量使用EA.Incredibuild 联机编译软件,build PC Simulator 的时候使用。MTK平台手机主要有哪些平台手机主要有哪些Feature通话中心:通话记录,IP拨号设置,通话设置电话簿:导入导出,添加到黑名单,白名单设置:日期与时间,显示设置,手机设置,情景模式,网络设置个人助理:日历,备忘录,闹钟,定时开关机,分时静音信息:短信,彩信,小区广播网络浏览器天语乐园:QQ,百度搜索等第三方应用影音空间:照相机,摄像机,相册,视频播放器,音乐播放器,录音,FM.安全中心:手机锁,防盗追踪,来电卫士,短信卫士,自救功能,隐私保护,私密信息文件管理器(我的文
9、档)娱乐天地:java,游戏,电子书工具箱:蓝牙,计算器,秒表,单位换算,健康管理,号码地区查询MTK代码的调试技巧和常用的工程命令代码的调试技巧和常用的工程命令EntryNewScreen(),mmi_frm_group_enter()这两个是进入每个界面一般都会执行的函数。exec_key_handler()这个是按键后会执行的函数。只要在这三个函数设置断点,基本就可以跟踪调试。手机常用的工程命令:*#8375#查看手机的软件版本*#3641#进入工程模式下载工具FlashToolOptions下Com port选择下载线的端口USB Download1)PC 需要安装USB驱动2)芯片支
10、持USB功能:6225 以上3)MTK Base Code中 make选项 USB_DOWNLOAD 不为 NONE4)Flash tool中options下选择usb download 5)长按 Download Key:MTK 默认键:CameraTIANYU 09B :Send Key 6)下载完成时间:大概1MinuteTrace工具catcher(1)Set database path 选择路径:tstdatabase_classb(2)点击该图标进入logging mode A 模块回调机制回调机制主要用于异步处理 Message callbackfunc()(param callbackfunc)例如:mmi_frm_set_protocol_event_handler(MSG_ID_MMI_UM_GET_MSG_LIST_REQ,(PsIntFuncPtr)mmi_msg_handle_get_list_info_req,MMI_TRUE);B 模块 谢谢演讲完毕,谢谢观看!