mtk平台入门资料
mtk平台mmi培训资料(中文)

/* Code Body */ /*---------------------------------------------------------------*/ gdi_layer_lock_frame_buffer(); SetupCategoryKeyHandlers(); MMI_title_string = (UI_string_type) title; MMI_title_icon = (PU8) get_image(title_icon); change_left_softkey(left_softkey, left_softkey_icon); change_right_softkey(right_softkey, right_softkey_icon); //Create List create_fixed_icontext_menuitems(); associate_fixed_icontext_list(); ShowListCategoryScreen( (UI_string_type) title, get_image(title_icon), get_string(left_softkey), get_image(left_softkey_icon), get_string(right_softkey), get_image(right_softkey_icon), number_of_items); for (i = 0; i < number_of_items; i++) { add_fixed_icontext_item((UI_string_type) list_of_items[i], wgui_get_list_menu_icon(i, list_of_icons[i])); } h_flag = set_list_menu_category_history(MMI_CATEGORY_CUSTOM_LIST, history_buffer); if (h_flag)
MTK平台应用软件开发基础知识

以上编译工具均按默认路径安装。
2 编译命令与文件
MTK编译分资源的编译和代码的编译 2.1 资源的编译 在如下的情况下,需要重新编译资源: • 修改了字符串资源文件(Ref_list.txt)、字库文件(FontRes.c,L_**.h)、MMI配置 文件(MMI_featuresPLUTO.h)等,这些文件位于 ..\plutommi\Customer\CustResource\PLUTO_MMI\ ; • 修改了MMI资源装载配置文件,这些文件位于 ..\plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI 目录下,这个目 录下都是Res_*.*文件,是各个AP或模块的资源装载文件,包括菜单、图片和字符串 资源的装载配置。 编译方法:进入..\plutommi\Customer目录,执行remakeResource.bat。若是 在模拟器上使用,则还需要在VC环境下build一下,就可以看到效果了。
MTK平台应用软件开发基础
1 编译环境
操作系统:Win XP, Windows 2000/2003 编译器:ADS1.2 (Arm Developer Suite) 编译器补丁:ADS1.2_update_848.exe Perl解析: ActivePerl-5.8.8.820-MSWin32-x86-274739.msi
目标文件: 生成的目标文件为.bin文件,位于..\build\proj目录下面,build目录为生成的一个目 录。 Log文件 Log文件同.bin文件一样,也是位于build目录下,如果编译出错,可以在命令行中看 到出错的模块,然后到build目录下找对应的Log文件。 MT6225o目录 包含所有生成的obj文件和lib文件。 MT6225r目录 包括了每个模块的依赖文件(由mak产生的.dep)。
MTK平台软件架构

跨平台兼容性优化
通过标准化和抽象化技术, 提升软件的跨平台兼容性, 降低实施和维护成本。
THANKS
感谢观看
03 高端市场突破
近年来,MTK平台在高端市场取得突破,推出了 多款高性能的旗舰级芯片,如天玑1000系列。
MTK平台的应用领域
智能手机
MTK平台是全球智能 手机芯片市场的重要 供应商之一,其芯片 广泛应用于中低端和 部分高端智能手机。
平板电脑
基于MTK平台的平板 电脑具备高性能、低 功耗等特点,满足用 户日常使用和娱乐需 求。
MTK平台软件架构的未来发
06
展趋势与挑战
未来发展趋势
云原生技术融合
随着云原生技术的不断发展, MTK平台软件架构将进一步与云 原生技术融合,实现更加高效、 灵活和可靠的应用部署和管理。
AI与大数据驱动
人工智能和大数据技术的广泛应 用,将推动MTK平台软件架构向 智能化、数据驱动的方向发展, 提升应用性能和用户体验。
软件架构的重要性
软件架构是软件系统设计中的核心部分,它决定了系统的稳定性、可扩展性、可维护性和性能等关键 特性。一个良好的软件架构能够提高软件质量,降低开发成本和维护成本,提高系统的可靠性。
MTK平台软件架构的特点
01
模块化设计
MTK平台的软件架构采用了模块化的设计思想,将系统划分为多个独立
的模块,每个模块具有明确的功能和接口,便于开发和维护。
3
跨平台兼容性
不同操作系统、设备和平台之间的兼容性问题, 给软件架构的设计和实施带来了不小的挑战。
解决方案与展望
01
02
03
强化安全防护
通过引入先进的安全技术 和策略,如容器安全、 API安全等,提升应用的 整体安全性。
MTK基础知识

MTK基础知识MTK 业务指令表设置指令:*#66*#中文语言:*#0086# + send *#0413*# 元件信息查看版本:*#8375#软件版本:*#8882#测试:*#87#调试:*#8899# (?)默认语言:*#0000#+通话键设置英文:*#0044#+通话键繁体中文:*#0886#+通话键简体中文:*#0086#+通话键串号查询:*#06#原厂设置:*#66*#查看硬件版本:*#8375#查看LCD驱动版本:*#8376# 工厂指令:*#3646633#自动测试:*#87#软件版本:*#8882#*#035670766*001#*#035670766*002#有一些机器开机输入*#66*#不进测试的。
可以在开机瞬间,在按键灯亮和开机音乐响的时候快速按*#*#............*#就可进入测试*#99001# 进入黑匣子软件BUG功能,*#0413*# 元件信息*#6162*# 是查看内存指令在待机界面输入“ *#3646633# ”,选择“音频”,在这个菜单依次会看到正常、LoudSp Mode、Headset Mode等。
当前先以“正常”为例。
speech——通话听筒声音大小调整;Melody——音量0~音量6,铃声大小调节;16 level setting,mp3大小调整(注:MP3 共16个等级,其中,MAX为最高等级;STEP为相邻两个等级之间的音量差值;在melody下的音量0~6对应情景模式音量大小,16 level setting对应mp3声音大小)FM radio——调频广播大小调整;micophone——通话mic大小的调整(即通话时,听到的对方声音大小的调整)其余一般不会用到。
以上是正常模式,其他如:免提,耳机均可按此方法调整。
在所有项均调整好后,逐一按返回键退出(请注意:此时不要直接按挂机键,这样将无法保存调整过的数值),待出现提示“修改参数?”选择“是”。
MTK从入门到精通(第5章+MTK开发平台搭建)

第五章:MTK开发平台搭建导读:前面几章,我们一直都在讲一些MTK的背景知识,试图让大家对MTK有个感性的认识,当你对即将要向大家学习的MTK开发有个大概的了解之后,再来研究里面的一些细节,对你接下来的学习肯定是大有益处。
从这一章开始,我们将慢慢地向大家铺开MTK开发实战方面的内容,让大家尽快步入MTK开发的殿堂,也就是我们所说的“入门”。
好了,言归正传,我们把话题切换到平台搭建上来。
古人云:君欲行其事,必先利其器,那么学习MTK也一样,必须要有好的工具来辅助我们学习,辅助我们开发,工具选好了,选对了,让我们接下来的学习和工作事半功倍。
本章我们将详细的介绍MTK开发平台的搭建过程,首先是介绍MTK 开发平台所需的资源和工具,以及获得这些资源的方式,接下来介绍如何正确安装和配置相应的软件工具,并告诉读者如何检测环境搭建是否成功,然后我们重点介绍了Source Insight软件,并介绍如何把代码加载到Source Insight软件当中,接着,文章还给出了分布式编译的原理,在MTK开发中引入分布式编译的意义,以及如何搭建自己的分布式编译系统,最后对整章做了一下总结。
因为本章是学习接下来知识的基础,所以希望读者能认真阅读。
如果遇到问题,也可以到我们的iMTKoo论坛()来发帖询问,我们的版主会尽快的给予解答。
需掌握的内容:1.了解MTK开发平台所需的各种软件。
2.掌握开发平台的搭建过程。
3.掌握如何应用MTK工具检测开发平台是否搭建成功。
4.了解各种第三方软件在我们的编译过程中扮演的角色。
5.了解各种官方软件的作用。
6.掌握分布式编译的原理以及分布式编译系统的搭建。
5.1 MTK开发所需的资源和工具在进行MTK开发平台搭建的讲解之前,笔者觉得有必要对这些软件做一些简单的介绍,让大家大致了解,这些软件在我们平台中的作用。
然后我们还将告知大家如何去获取这些软件,以及对这些软件版本的要求,这一点非常的重要,我这里做一次强调,平台搭建中所需的软件版本,并不是越新越好,请使用我们推荐的版本,否则可能会出现各种编译错误。
MTK 入门

MTK入门资料文档内容:-》MTK软件架构-》如何编译-》开发目录结构解析-》开发工具的了解-》程序入口,程序导读-》MMI的制作1. MTK软件构架参考文档:MT6218_SW_ReleaseNote.pdfMTK为MediaTek公司提供的GSM软件方案。
它包含5个部分:-》L1协议-》设备驱动-》协议栈-》MMI-》W AP应用MediaTek为用户提供3个工具:-》Catcher-》META-》MCTMTK软件架构图:下面3个部分组成该软件方案:1. MS Executable Software, which is the software running on the MS, includes the following modules- OS: Nucleus OS.- L1 Protocol Stack: GSM physical layer.- Drivers: device driver, like SIM, UART, GPIO, etc.- L2/L3 protocol stack: GSM protocol stack layer.- MMI: man-machine interface.- WAP: Wireless application protocol.- JA V A: J2ME Software2. The Mobile Engineering Testing Architecture, also known as META3. Catcher-》OSMediaTek采用Nucleus OS实时操作系统。
KAL OS层为MediaTek’s软件和Nucleus操作系统的接口。
它为任务提供许多系统服务函数,比如计时器,队列,内存管理,事件等等。
-》L1 Protocol StackThe physical layer or Layer 1 supports the transfer of bit streams on the radio medium according to the Technical Specifications of the 05-series. It provides service to upper layers and control the mapping and scheduling between the logical and physical channels. The TDMA framing and radio control parts are also implemented.Layer 1 Asynchronous: handles the message request from upper layers and forward the result generated by layer 1 to upper layer.Surrounding Cell Engine: handles the neighbor cell power measurement and neighbor cell synchronization information acquisition.Layer 1 Control: handles the TDMA scheduling on the radio environment, including timing advance and power control command from serving base station.Layer 1 Driver: handles the DSP and Radio control-》DriversMCU外围设备的驱动,如下:SIM: Subscriber Identity ModuleUART: Universal Asynchronous Receiver/TransmitterSPI: Serial Port InterfaceLCD: Liquid Crystal DisplayGPIO: General Purpose Input/OutputGPT: General Purpose TimerRTC: Real Time ClockWDT: Watch Dog TimerPWM: Pulse Width ModulationAlerterKeypadPMIC: Power Management ICBMT: Battery Charging Management taskAUX task: Auxiliary taskADC Sched.: Analog to Digital Converter SchedulerUSB task: The USB 1.1 protocol and driverIrDA task: The IrDA and driverCamera: Camera driver for integrating with 3rd party camera moduleMSDC: Memory card driver, supporting SD, MMC cards and Memory StickJPEG Decoder: Software for controlling hardware JPEG decoder-》L2/L3/L4 Protocol Stack这部分包含大量的GSM/GPRS需求以及提供一个优秀的GSM/GPRS平台给应用程序。
MTK初学必须了解的知识点

MTK初学必须了解的知识点为何 0836 的6225 一开始没有信号?m12196.c 里面 power on 、power off 的动作只针对6205有写过实际代码,但是对6225 及其他平台没有相应代码,修改即可CTA 软件应该开关哪些功能?对于目前很多公司而言,不希望花费很多金钱和时间去测试GPRS 、蓝牙等相关协议;版本号对于测试来说,一定要是相同的,不能变化1、去掉 GPRS 相关的功能2、去掉蓝牙相关的功能3、增加 CTA 版本号,并保证其在测试前后总是一直的。
4、增加免费游戏5、SP功能全部去掉。
CTA 版本号应该怎样做?1、CTA 版本号的目的是为了保证手机在CTA送测期间,被查询到的版本号一致,而实际的版本号通过另外的方式可以查询到,所以生成了一个CTA版本号。
2、由于我们有一个硬件版本号查询的接口,目前就借用了这样一个接口,因此我们实际上只需要修改硬件版本号及其查询字串,就可以用作 CTA 版本号的查询了。
3、硬件版本号查询字串修改,需要找到SSC_HW_VERSION 进行修改即可,而版本号则在对应的 VERNO.BLD 里面修改即可如何添加一个自定义的世界时间地区,如越南胡志明市?找到 resource_world_clock_city.c 中与项目对应的数组const TimeZoneStruct TimeZoneData[]在其中添加世界时间的一项(位置无要求,程序会根据时区重新排序的):{时区,地名字串,地名字串缩写,地名字串,地名字串缩写,1} 其中时区可以上网查,比如北京为东8区就为 +8 西区为负数地名字串,地名字串缩写是自己添加字串资源地图X坐标,地图Y坐标为找到我们实际用的地图背景,对应的地名 x,y坐标即可,用windows自带的画图工具就可查出来最后一个参数照填就行如何开启trace?1、手机端设置a、用工程模式字串,开启工程模式b、进入【设备】->【Set UART】->【uart setting】c、设定【TST-PS Config】等于【UART 1】,【PS Config】等于【无】,[TST-L1 Config】等于【UART 1】d、确定后,则手机端设置完成2、PC端设置a、打开CATCHERb、【Config】->【Set Database Path】,选中与手机软件对应的db文件c、【Control】->【Mode】->【Logging】,允许trace记录d、【Config】->【Configuration RS232】, 选择合适的COM 端口e、【Control】->【Connect】,则可以开始tracef、【Control】->【Set Filter】,设置需要显示的过滤器为什么第一次开机的日期格式和默认回复出厂设置的日期格式不一致?第一次开机使用 DATE_FORMAT 对应NVRAM里的值:恢复出厂设置是使用RESTORE_DEFAULT_DATE_FORMAT对应NVRAM里的值;文件:Nvram_cust_pack.c(注意要修改相关的项目配置文件)对应关系如下:0-----DD-MMM-YYYY1-----DD/MM/YYYY2-----MM/DD/YYYY3-----YYYY/MM/DD4-----YYYY-MM-DD5-----MMM DD,YYYY默认开启UART为trace使用1、目前在主干上面已在GPRS.MAK里面增加相应的宏,按需要把下面的宏设为TRUE即可:# uart 默认为debug 使用UART_FOR_DEBUG_DEFAULT = FALSE#默认关闭TRACE,即FALSESIMTECH_DEBUG = FALSE2、如果不是当前主干,则可以在Nvram_common_config.c 里面,找到NVRAM_EF_PORT_SETTING_DEFAULT将默认端口调换一下顺序即可,即:把 99 修改为 0,0修改为99,注意只能修改端口相关的 0 和 99 如何修改工程模式启动字串?查找 SSC_ENGINEERING_MODE,并修改其定义即可真机工程为什么在模拟器上面编译不过?1、target可以通过。
MTK平台射频培训

1
一、射频框图:红色线条表示发射、接收共用;绿色表示接
收;蓝色表示发射。
2
二、射频电路原理图
3
三、射频功能模块介绍
1、射频天线开关电路
射频前端开关电路用于切换GSM/DCS/PCS的接收和发射,并抑制发射信号的带外杂散。
DCS、PCS 发射
天线端
GSM850、900发 射
发射与接收的控 制线
DCS、PCS接 收
三点法校准也是从.cfg文件中读出三个功率点,然后对此三个点进行功率校准, 计算出slop,其他功率等级根据slop计算出DAC写入NV。
16
APC校准原理如下:
一、ATE软件读取.cfg及.ini文件中的默认设置
二、让手机进入META模式,设置ARFCN及PCL
三、根据PA类型读取.cfg文件中的校准点及.ini文件中的DAC值
PA 工作频段选 择
发射功率大小控制
电源供 电
850、900放大信号输入
PA跟天线开关 之间的阻抗匹 配 850、900放大信号输出
PA 发射使 能
天线开关GSM发射 控制
1800、1900放大信号输出
1800、1900放大信号输入
6
4、射频IC电路
IQ信号 线 RX接收 电路
26M晶 体
7
5、基带对射频电路的控制线
I、Q信号校 准 信号的调制方式 , GSM 为 GMSK ,如果是EDGE则 为EPSK
PA 类 型 , 此 项 选 择 决 定 PA 的 校准算法
全功率检测, 校准时一定选 择此项
ADC校准
21
测试模式,目前为手动初 始化。如果选择校准模式 ,那一打开此软件就会自 动进入校准测试界面
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MTK平台入门资料
mobilelife
编译工具和辅助工具:
ADS1.2
ADS12_update_842.exe
MSYS-1.0.10.exe
MinGW-3.1.0-1.exe
ImageMagick-6.2.5-5-Q16-windows-dll.exe
7z313.exe
开始编译:
切换到项目根目录,然后在命令行下面执行命令:
make custom=proj gprs new
其中,命令可以为 clean, update, remake
目标文件:
生成的目标文件为.bin文件, 位于 MTK\build\proj 目录下面,build 目录为生成的一个目录。
Log文件:
Log文件同.bin文件一样,也是位于 build 目录下,如果编译出错,可以在命令行中看到出错的模块, 然后到build 目录下找对应的log文件。
仿真环境:
工程文件 PixtelMMI.dsw 位于目录 MTK\plutommi\mmi 下面,由此可进入仿真环境。
烧写程序:
工具 Flash_tool.exe 可烧写程序。
该工具的主要设置是 COM口 和目标文件位置。
Download argent 和 scatter file 用自带的就可以了,选中这两项后,会出现ROM 的选择项,点击后可选择.bin文件。
设置好上面的参数后,连接上手机,将手机断电,然后按开机键就可以烧写程序了。
Trace 工具
在手机上往往要做一些trace,这就要用到trace工具---Catcher.exe。
手机上打 trace 接口为kal_prompt_trace,如同agere平台的GSMprinf.
使用 Catcher.exe,
要先要设置 DataBase,这个文件是在编译的时候生成的,是个没有扩展名的二进制文件,该文件位于 \MTK\tst\database_classb,例如, BPLGU..。
在 Catcher.exe 中,设置 DataBase 的方式是 configà set database path
其次, 要设置模式为logging,这样才能进行下面的设置。
该设置位于 controlà modeà logging
第三,要设置好COM口。
第四, 打开连接开关,表示 Catcher.exe处于待命状态。
第五, 设置filter。
这个可以过滤一些自己不需要的log。
有时半天不出现log, 这时候重新选择一下filter一般就会解决问题。
Filter设置路径为 controlà set filter
Catcher.exe 使用的连接线给烧写程序用的线是同一条。
保存log:
在log区域选中想要保存的log (可用shift+ 鼠标),鼠标右键选save as…
有时为了方便测试,会设置trace默认关闭, 需要的时候可以打开。
该设置在工程模式下。
设备à set UARTàTST Config, 设置合适的UART 口。
比如,UART1是可以trace的。
编译出错:
有时编译会出现莫名其妙的错误,比如一刚刚可以编译通过,现在却不行,.
以上为项目开发的基本环境和基本过程
接下来的内容,则是具体的开发细节 ―――――――――――――――――――――――――――――
添加文件:
开发过程中,少不了加减文件, 删除文件实际上是添加文件的相反过程,因此略过。
MTK设置了很多lst 和 pth 文件供用户添加文件,这些都在make文件夹下。
用户可以自己添加模块,也可利用原有的lst 和 pth 文件添加。
以下以添加在
MTK\make\plutommi 为例。
添加头文件路径:
plutommi.inc
添加本模块路径:
plutommi.pth
添加源文件路径:
plutommi.lis
添加完毕,这些文件就可参与编译了。
添加开关:
开关真是个好东西。
依靠它,可以将没有价值的功能瞬间屏蔽,又可以将我们需要但又搁置的功能瞬间启用。
能者上,不能者下,多么类似于社会法则。
添加开关 在make文件夹下面的 .mak文件里面。
注意事项:
有人喜欢模仿MTK原做法,在 .mak文件里面使用一个开关管住另外一个开关。
那么两个开关不要同名,否则开关起不了关闭的作用。
添加string资源:
1. GlobalDefs.h 中增加ID
2. population.c 中将ID和 string关联
3. plutommi\Customer\CustResource\PLUTO_MMI\ref_list.txt 中增加ID 和各种语言的文本
有了以上3个步骤,即可使用该文本资源了。
编译后,在 plutommi\Customer\CustResource下面 会生成新的
CustStrMap.c 和
CustStrRes.c
这两个文件中就包含了新增的string资源
添加图片:
1. GlobalDefs.h 中增加ID
2. population.c 中将ID和 string关联
3. 增加图片到解压后的包里,增加完毕,应打包。
plutommi\Customer\Images\PLUTO176X220
里面的文件夹是生成的,可以在cc上看到为private。
4. 添加进去后,要打包,如果仅添加在文件夹里面会被清除。
如果没有找到图片文件,手机显示的时候是一个红色的*
添加图片时,注意路径用4杠
在NVRam中增加成员:
需要增加ID,指出每块大小,以及总的块数 和缺省值。
每块大小最好为偶数。
修改下面的文件:
Nvram_user_defs.h: ID, 大小,个数
NVRAMEnum.h
Nvram_user_config.c
custom_nvram_editor_data_item.h
以上为常用的开发细则,下面是一些零散的东西。