MTK
文章平均质量分 74
饭小粒
蓝牙&Android&iOS&EN
展开
-
MTK短消息编程
1.获取短消息,MTK没有专门用于获取短消息内容的函数,这给我们操作短消息带来了不便.比如有时我们需要分析短消息的内容,再比如有时要把短消息写入T卡了,再或者有时要把某条短消息显示到某些应用场合了,这时就需要获取短消息的内容.这里提供一个我经常使用的接口:#include "SMSApi.h"#include "med_utility.h"extern unsigned sho转载 2010-01-27 11:37:00 · 554 阅读 · 0 评论 -
MTK的IDLE窗口开发应几点经验
1,IDLE窗口是由两个层组成,一个是基层,一个是墙纸层,这一点可以使用gdi_layer_get_blt_layer_ext函数来获取当前窗口的层,所以如果我们需要创建新层,只能使用gdi_layer_create_using_outside_memory从外部Memoyr创建。2.IDLE的代码由于改动的人多,看起来或者维护起来总是让人感觉那么的不爽,但一般情况下,最好不要尝试重写一个ID原创 2010-01-28 20:55:00 · 730 阅读 · 0 评论 -
寻找用哪种category的方法
在wgui_draw_manager.c/dm_redraw_category_screen()里设断点,可用vc跟踪出来.原创 2010-01-28 21:19:00 · 585 阅读 · 0 评论 -
更换图片和铃声
1、铃声部分 1)来电默认铃声:resource_audio.c中mtk_resource_imelodys数组第一个元素(音频对应类型参考aud_defs.h) 2)默认短信铃声:resource_audio.c中mtk_resource_message_sounds数组第一个元素 3)开关机铃声:resource_audio.c中mtk_resource_midis数组第一个、第二个元素2、图原创 2010-01-28 21:20:00 · 716 阅读 · 0 评论 -
MTK笔记
L4是MMI/AT和协议栈的适配层。ATCI是AT命令解析器。UEM是用于抽象如键盘、LED、通用输入/输出等基本设备,是用户设备模块。PHB就是电话本。SMU是安全管理单元(SIM、STK)。CSM是呼叫服务管理。RAC是登记访问控制。SMSAL是SMS应用层。内核服务包括定时器、任务管理和进程间通信、资源和内存管理、日志和异常处理。OSL是封装OS API的层,而KAL则是封装内核的层,应转载 2010-01-28 10:15:00 · 861 阅读 · 0 评论 -
关于如何学习MTK的问题
假如你以前在其它手机平台上开发过MMI APP,现在公司要更换手机平台,你如何能快速了解新的手机平台? 首先,你要有一个该平台的运行环境(象MTK,展讯都提供一套完整的软件方案)。经过简单的调试,该运行环境编译通过,并且可以运行出WIn32模拟器。 其次,找出手机软件的运行入口。所有的手机启动过程如下:开机 ---〉初始化硬件设备----〉初始化软件(全局变量,转载 2010-01-29 15:29:00 · 934 阅读 · 0 评论 -
MTK IDLE
1.1 状态栏 状态栏包含电池电量指示,信号指示,日期时间显示,运营商名字和各个状态图标显示。电池电量显示:图标ID为STATUS_ICON_BATTERY_STRENGTH位于MainLCD/IdleScreen/Statusicons/battery 注意的是图标保证5帧。关于电量显示的控制位于文件PoweronCharger.c函数BatteryStatusIndication 根据当转载 2010-01-29 17:29:00 · 2561 阅读 · 3 评论 -
一些总结
1. 入口函数: Goto_Main_Menu2. 打印函数以及更新LCD函数A. Gui_print_text(L "hello world"); L表示转换成Unicode;B. Gui_BLT_double_buffer(0,0,Devicewidth-1,DeviceHeight-1); 如果只有Print而没有Double_buffer,那么LCD将得不转载 2010-02-01 11:50:00 · 945 阅读 · 0 评论 -
mmi学习
在做层实验时时,关于层显示思考的几点 1. 层显示时,首先声明层,在创建层和激活层之前的代码是显示在该层上的内容。 2. 定义变量要在函数体的最前面,否则报illegal use of this type as an expression 剪切看不到效果? gdi_layer_set_clip(123,226,197,247) 原因是,创建的层的大小到不到剪切原创 2010-02-01 16:05:00 · 1494 阅读 · 0 评论 -
MTK平台学习--FileManager模块分析
FileManager模块分析一、 External Interface 1. 给其他模块使用的接口函数 作用 mmi_fmgr_init initialize file manager context mmi_fmgr_select_path_and_en转载 2010-01-29 15:30:00 · 1166 阅读 · 0 评论 -
常用画图函数
gui_push_clip();//推进层gui_set_clip();//设置剪切区域gdi_draw_solid_rect();//覆盖清除区域gui_show_image();//显示图片gui_pop_clip();//推出层原创 2010-02-01 10:31:00 · 989 阅读 · 0 评论 -
添加星期
在ShowCategory33Screen_ext中找到switch (idle_screen_type) { case NORMAL_IDLE_SCREEN://#ifdef __MMI_UI_TECHNO_IDLESCREEN_BAR__//将代码解放出来,不用将定义宏代码 set_main_LCD_dt_date_hide_f转载 2010-01-29 15:18:00 · 852 阅读 · 0 评论 -
MTK图片处理
从事MTK平台的工作者很多,做高仿机的人也很多,MTK的界面变得越来越花哨,但是对于MTK平台实现进行研究的文章并不多,希望这篇文章和以后的几篇BLOG能为MTK的初学者带来一些帮助。 怎么使用MTK的函数显示图片相信大家都会,但是图片的解码过程就不是人人都去研究了,由于我们做JVM移植层的需要,最近对MTK的图形解码进行了一些研究。 MTK在绘制图形的时候原创 2010-02-01 10:59:00 · 2678 阅读 · 1 评论 -
如何修改键盘文件
keypad_def.c,有的时候需要修改keybrd.c 和GlobalConstants.h原创 2010-02-01 11:56:00 · 676 阅读 · 0 评论 -
图片处理
gdi_image_draw_id是以资源ID方法显示图像 gdi_image_draw是以资源Buffer方式显示图像gdi_image_draw_file(100,100,(S8 *)L"D://mm_or.gif");是以文件的方式显示图像 gdi_image_draw_ext 缩放gdi_image_draw_resized_id gdi_image_draw_resi原创 2010-02-01 12:44:00 · 696 阅读 · 0 评论 -
gui控件绘制列表菜单
步骤:1. 先创建一个列表菜单框架, fixed_list_menu My_fixed_list_menu;//声明菜单框架 Memset(&My_fixed_list_menu,0,sizeof(fixed_list_menu)); gui_create_fixed_list_menu(&My_fixed_list_menu,20,MMI_content_y+5,136,MM原创 2010-02-01 15:19:00 · 1800 阅读 · 3 评论 -
关于使用category57screen屏幕的几点思考
关于使用category57screen屏幕的几点思考 inlineItemselect的数组要声明成全局变量,如果不: 1.把inlineitemselect放在第一行,能有使用,放在其他位置就不行,显示字符串部分成乱码。 2.无法进行选择,一旦选择就中断。 其他内联的功能参见 Full screen edit: void custom_setup_fu原创 2010-02-01 18:11:00 · 1449 阅读 · 2 评论 -
mtk中的一些函数作用-3
1.Hole Single,Hold Conference(操作完全相同)1. mmi_ucm_hold_action() mmi_ucm_hold_action_with_index(g_ucm_p->call_misc.hilite_tab); 2. mmi_ucm_hold_action_with_index() 显示processing转载 2010-02-05 10:43:00 · 700 阅读 · 0 评论 -
mtk中的一些函数作用-2
来电:1. PsCBackCallIncoming() ProcessIncomingEvents(CM_PS_CALL_INCOMING, info); 2.ProcessIncomingCallEvent(info) AddNewCallInfo() 在这里,cm_p->state_info.AllCalls[index].gro转载 2010-02-05 10:44:00 · 910 阅读 · 0 评论 -
MTK系统重启后进行了什么操作?
以data abort 为例1. Data_Abort_ISR 2. MOV a1,#DATA_EXCEPTION_TYPE ; Set type DATA_ABORT (4) 3. MOV a2,lr 4. 5. saveException 6.转载 2010-02-05 10:01:00 · 2047 阅读 · 0 评论 -
mtk 黑屏重启问题
Dear Sir : 下午有看到貴司上傳上來的memorydump,但是沒有抓全,只有不到1k,正常是External ram+ Internal Ram的size,至少要5M以上。 請確認在抓的時候 點擊 start之後等到Finished Memorydump的對話框自動彈出才可以 新的bin文件download 到手机后:1、开机进入“信息”2、选择原创 2010-02-05 10:27:00 · 2423 阅读 · 0 评论 -
常见错误分析及解决方法
Such as :compile block ----Con_appError:make[1]: *** No rule to make target `Hai_Extern.obj, needed by `build/GXQ26_07B/gprs/MT6226o/lib/conn_app.lib. Stop.Reason:1.在make文件中添加了 Hai_Extern.c文件的编译,但在转载 2010-02-05 10:41:00 · 4359 阅读 · 0 评论 -
从MTK的BIN文件里提取图片资源
MTK手机软件是一个二进制的BIN文件,最近一段时间来,很多人都在动BIN文件的脑筋,希望通过直接修改BIN达到修改软件的目的.有人写了资源提取工具,有人写了直接修改手机语言的工具,总之MTK平台售后服务工具层出不穷.于是常常被别人请教这些工具是怎么实现的.这倒让我有些为难了,简单一些来说,他们都是靠分析BIN得操作的.不过面对一大堆混乱的字符,要分析他们可不是一件容易的事.一般来说,由于二进制文转载 2010-02-05 10:58:00 · 1224 阅读 · 0 评论 -
MTK平台驱动基本介绍-2
四:USB电源开关 usb_custom.cvoid USB_PowerControl(kal_bool enable){#ifdef __USB_ENABLE__ GPIO_ModeSetup(35, 0); --------使用的是GPIO35,每个项目会不同,需根据硬件修改 GPIO_InitIO(1, 35); if (enable == KAL_转载 2010-02-05 15:00:00 · 2709 阅读 · 3 评论 -
MTK MODIS 出现的一个问题
mmidsm.cC:/Program Files/Microsoft Visual Studio/VC98/INCLUDE/windef.h(142) : error C2371: BOOL : redefinition; different basic types ../../plutommi/mmi/Inc/MMIDataType.h(435) : see declarati原创 2010-02-05 10:47:00 · 3024 阅读 · 1 评论 -
MTK中dbg_print函数的实现
在开发MTK的时候,总习惯一直跟踪代码,一层一层的跳进去看个究竟。看到dbg_print(char *fmt,...) 这个函数,看了函数体,发现它实现了我从前一直疑惑的一个问题,Printf的格式化输出是怎么实现的,查了一些关于可变参数函数的资料,并把mtk中printf格式化字符串的实现方式附上,希望对大家有用: 1.要在函数中使用参数,首先要包含头文件。 这个头文件声明了一个转载 2010-02-05 11:03:00 · 1867 阅读 · 0 评论 -
MTK开发中一些经验总结
1. 在确定你的MTK工程完整而且在模拟器和真机上能正常运行 之前, 不要开始工作。2. MTK开发 C是唯一选择, 不要试图用把C++工程移植到MTK平台。 3. ADS C/C++ COMPILER不同的编译选项可能导致代码的性能差异很大。ADS使用ARMV4指令集, 而真机是Thumb指令集。4. MMI/GUI的工作尽量用MODIS模拟器。 真机编译很慢,可用分布转载 2010-02-05 11:16:00 · 1188 阅读 · 0 评论 -
MTK 平台裁减代码,free ROM或者RAM空间
裁减代码,首先把无关紧要的模块关闭,也许会收到很好的效果.最好就把某些耗空间的功能关闭,减少支持的图片等. 或者裁减图片大小等.都是可行的方法.以上都确认后,还超空间的话,可以通过lis 文件找出那些耗空间的 lib 甚至 obj , 仔细查找如果是超RAM空间,可以找大数组,大数据结构等,试图减少或者共享内存.如果是ROM空间,可以找只读数组,只读数据结构等.代码量也是一方面转载 2010-02-05 10:30:00 · 861 阅读 · 0 评论 -
MTK通过TRACE的栈信息寻找BUG原因与解决方法
前几天去一个公司帮他们解决BUG。BUG的描述是这样的,在使用在线QQ时,如果来电话,就会重启。没有发现ASSERT信息,只有stack dump信息。起初听他们描述,感觉像是QQ或者通话的问题。抓了TRACE之后,发现是MED模块的问题,由于MED主要是一些媒体文件的解码。由于观察现象时发现,通话时,还没有来得及响铃,就开始重启,因此可以大概推知是来电振铃出了问题,具体出在什么地方,需要查找TR转载 2010-02-05 10:33:00 · 935 阅读 · 0 评论 -
MTK调试入门之一 --- TRACE使用的技巧
MTK的调试一般来说可以分为仿真调试与手机调试.这两种调试对于研发新功能,修改BUG,研究算法都是十分重要的.当然,这两种调试也有差异,有时会出现在模拟器运行正常,在手机却运行失败,或者相反,这就突出了软件模拟环境与硬件手机环境的差别.原因可能是各种各样的,比如可能是有些硬件软件没有办法模拟,有些新功能对硬件依赖强,不能模拟,新软件的有些函数只能在手机上运行,没有写相应的模拟器代码.等等原因都会导原创 2010-02-05 10:56:00 · 1057 阅读 · 2 评论 -
MTK平台驱动基本介绍-1
----------MTK6225一:LCD 文件位于custom/drv/LCD 以华立维的一款240X320的屏为例介绍如何添加LCD驱动 gprs.mak LCD_MODULE = HUALIWEI_SSD1289_LCM MAIN_LCD_SIZE = 240X320 Option COM_DEFS_FOR_HUALIWEI_SSD1289_LCM转载 2010-02-05 14:59:00 · 1579 阅读 · 0 评论 -
MTK出货量
联发科总经理谢清江4日宣布,上修2009年手机芯片出货量目标,由原先2.5亿颗提高到逾3亿颗水平。由于全球新兴国家对中低价位手机产品需求强烈,加上大陆手机客户成功由内销转为外销,目前外销业务比重已提高到40~45%,促使联发科手机芯片出货大增,并可望拉升联发科2009年手机芯片市占率达到 20~25%水平,晋身全球第2大手机芯片供应商。 谢清江指出,大陆手机客户转作外销业务成绩卓越,原创 2010-02-09 14:03:00 · 1746 阅读 · 0 评论 -
MTK修改NVRAM值一定要将版本号加1
以修改NVRAM_PROFILES_DEFAULT为例说明:1.修改NVRAM_PROFILES_DEFAULT [MAX_ELEMENTS]数组中的默认值;2.增加PROFILES对应的版本号---VER(NVRAM_EF_PROFILES_LID);3.VER()是宏定义,VER(NVRAM_EF_PROFILES_LID)翻译过来是NVRAM_EF_PROFILES_LID_转载 2010-02-08 15:11:00 · 1430 阅读 · 0 评论 -
(MTK)修改NVRAM值一定要将版本号加1
(MTK)修改NVRAM值一定要将版本号加12010-02-02 11:15以修改NVRAM_PROFILES_DEFAULT为例说明:1.修改NVRAM_PROFILES_DEFAULT [MAX_ELEMENTS]数组中的默认值;2.增加PROFILES对应的版本号---VER(NVRAM_EF_PROFILES_LID);3.VER()是宏定义,VER(NVRAM_E转载 2010-02-22 14:06:00 · 1656 阅读 · 0 评论 -
MTK文件读写相关
文件操作函数的头文件为fs_func.h常用的文件操作函数有:extern int FS_Open(const WCHAR * FileName, UINT Flag);extern int FS_Close(FS_HANDLE FileHandle);extern int FS_Read(FS_HANDLE FileHandle, void * DataPtr, UINT Length, UIN转载 2010-02-22 17:59:00 · 1270 阅读 · 0 评论 -
MTK的一些笔记
MMICheckDiskDisplay 开机点亮背光PEN_CHECK_BOUND 检查触笔位置是否在控制区域wgui_general_pen_down_hdlr 触屏事件setup_dialing_keypad 拨号界面 gui_dialing_key_select 显示选中拨号图片ExecuteDialKeyPadKeyHan转载 2010-02-22 17:35:00 · 3095 阅读 · 0 评论 -
MTK内存动态申请释放
1. OslMalloc OslMfree 为一个般的程序分配内存,用来保存一般性的数据,效率高,不能分配太大内存,else程序会挂掉 2. media_get_ext_buffer media_free_ext_buffer 可以分配较大内存,与OslMalloc 有着数量级区别,比如读一个比较大的文件操作时,要分配的buffer就要这个 ,这个不是在堆上分配的,和寄存器有关系 3. gui_转载 2010-02-22 18:01:00 · 3057 阅读 · 0 评论 -
MMI主题
MMI主题相关资源在文件Themecomponents.h中,相应分辨率文件夹下各有一个文件,图片都以数组形式存储,利用工具将图片转换为数组。 IMG_BACKGROUND_defaultTheme 系统默认的主题背景等等,文件中有主题中的各个图片数组和主题颜色。转载 2010-02-22 18:04:00 · 606 阅读 · 0 评论 -
常见typedef 用法
例如:typedef unsigned char uchar描述:uchar等价于unsigned char类型定义 uchar c声明等于unsigned char c声明2.数组类型定义例如: typedef int array[2];描述: array等价于 int [2]定义; array a声明等价于int a[2]声明扩展: typedef int a转载 2010-02-23 13:20:00 · 481 阅读 · 0 评论 -
MTK的高亮机制
1、 对于MTK平台中高亮事件的简单分析,仅涉及MMI层的应用牵涉函数: void SetHiliteHandler( U16 itemid, FuncPtr hiliteFuncPtr ); void RegisterHighlightHandler( void (*f)(S32 item_index) ); void ExecuteCurrHiliteH转载 2010-02-23 13:39:00 · 589 阅读 · 0 评论