MTK
文章平均质量分 65
yuesheng3707
这个作者很懒,什么都没留下…
展开
-
ADD_APPLICATION_XX的差异--01
<br />#define ADD_APPLICATION_STRING(stringId, string) /<br /> RES_PRINT_INFO("ADD STRING/t(%s [%d]).../n", __FILE__, __LINE__); /<br /> SetString(stringId, string, #stringId, __FILE__); /<br />原创 2010-07-19 20:01:00 · 831 阅读 · 0 评论 -
层1
近日高仿机大行其道丰富的视觉效果方便的触摸操作成了MMI设计和模仿的重中之中当人们在尽情享受这种创意带来的便利的同时MMI工作者却不得不去设计维护一个个功能越来越复杂,界面越来越炫丽的令人头痛的窗口,没有别的办法,稍一失误,就能导到整个窗口界面凌乱,功能失效,最终使程序员不得不不把大量的时间和精力花在令人头痛的界面维护中,在那些复杂的代码中寻找着可能的BUG层的运用也许是解决界面刷新,复杂界面的堆转载 2011-06-23 16:18:00 · 531 阅读 · 0 评论 -
MTK调试技巧1------MTK通过TRACE的栈信息寻找BUG原因与解决方法
前几天去一个公司帮他们解决BUG。BUG的描述是这样的,在使用在线QQ时,如果来电话,就会重启。没有发现ASSERT信息,只有stack dump信息。起初听他们描述,感觉像是QQ或者通话的问题。抓了TRACE之后,发现是MED模块的问题,由于MED主要是一些媒体文件的解码。由于观察现象时发现,通话时,还没有来得及响铃,就开始重启,因此可以大概推知是来电振铃出了问题,具体出在什么地方,需要查找TR转载 2011-06-23 15:29:00 · 1143 阅读 · 1 评论 -
DM机制
1. 窗体的重画:通过观察可以发现,每个窗体模板都调用这样一个函数:dm_redraw_ctegory_screen()。这个函数便是显示窗体的函数。它内部的实现是这样的:获得该窗体所包含的组件及它们的属性,再根据组件的类型和属性,调用不同的接口,逐一绘制各组件。无论是窗体所包含的组件,还是组件的属性,都是根据模板ID获取的。那么现在摆在面前的有两个问题:一、模板ID是如何传递到这个函数中转载 2011-06-15 13:45:00 · 810 阅读 · 0 评论 -
history机制
一、什么是History管理 对于我们上层用户而言,经常接触到的History管理是这样的: void EntryFunc(){U8 *guiBuffer; EntryNewScreen( Screen_ID , Exit_Func , Entry_Func , NULL ); guiBuffer = GetCurrGuiBuffer转载 2011-06-16 11:20:00 · 631 阅读 · 0 评论 -
UNICODE与ASCII码的关系(MTK)
ASCII:8bits的英文编码,实际使用低7位,127个字符。32(0x20)为空格,之前是控制字符,之后是有效字符。 Unicode:使用两字节对全球字符进行统一编码,有65536个编码,UCS-2为两字节版本(2^16 =65536)。 Unicode little endian:将Unicode中表示同一字符的两个字节顺序反过来,为了适应CPU处理字符的方式,加快处理速度。如:把字符”0xFEFF”存为FFEF的格式。 Unicode big endian:Unicode字符编码以正序存储。 一、之转载 2011-05-30 10:12:00 · 2142 阅读 · 0 评论 -
MTK--RO,RW,ZI区别
一直以来对于ARM体系中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该有不少人也有和我同样的困惑,因此将我的一些关于RO,RW和ZI的理解写出来,希望能对大家有所帮助。要了解RO,RW和ZI需要首先了解以下知识:ARM程序的组成此处所说的“ARM程序”是指在ARM系统中正在执行的程序,而非保存在ROM中的bin映像(image)文件,这一点清注意区别。一个ARM程序包含3部分:RO,RW和ZIRO是程序中的指令和转载 2011-05-27 09:44:00 · 758 阅读 · 0 评论 -
MTK编译命令介绍
<br />在同一平台开发多个项目,为了减少代码维护成本和提高代码的重复使用率,采用在一个代码仓上并行开发多个项目,这就涉及到项目间的代码管理,首先执行*.bat批处理选定要开发项目 <br /><br /> <br />编译命令<br /><br />make custom=xxx gprs/gsm new/remake/update/clean module_name<br />编译时进入Dos下工程所在的目录,然后输入上面的命令语句即可开始编译。<br />参数:<br />custom=xxx <转载 2011-03-31 16:32:00 · 1511 阅读 · 0 评论 -
mtk将图片转成数组buffer
<br />我们一般不采取MCT工具转,因为这工具需要整套的图片,而单张转比较麻烦,而且PNG的转出来可能有问题,所以我们采用如下的方式转换:<br />所有的图片资源,当你 Resgen 后,都会转换成 C 代码存在 Custimgdatahw.h 里面,比如主菜单的 “通话记录”(calllog)在里面的数组名就是:__MAINLCD__MAINMENU__MATRIX__MM_CALLHISTORY_PNG ,所以,我们可以把需要改的图片替代主菜单的通话记录的图片(格式不一定一致),然后压缩打包,r转载 2011-02-23 11:18:00 · 2502 阅读 · 1 评论 -
菜单下拉滚动条
<br />滚动条就是菜单右侧用来上下拖动以显示屏幕未显示内容的。 <br />滚动条有以下部分组成: <br />1.上下箭头图标——>我们一般称之为 SCROLLBAR_BUTTON <br />2.滚动轴——>我们一般称之为 SCROLLBAR_REGION <br />3.滚动条——>我们一般称之为 SCROLLBAR <br />在滚动条的显示方面,如果我们要改变滚动条是否显示,则通过改变结构体变量MMI_fixed_list_menu中的flag成员的值就可以了,因为我们事先定义好了一些菜单格式转载 2011-02-14 17:31:00 · 4498 阅读 · 0 评论 -
MTK如何编modis
make HM88888 gprs new(这句话就是全新编译一个工程),这样MTK的一个工程就开始编译了,就这么简单,你学会了吗?呵呵。等工程编译完成,快则30分钟或更短,慢则一个多小时或更长,完全看你机器的能力了。工程编译完了,我们开始编译模拟器,模拟器分为2种,一种是PCSimmulator的模拟器,一种是Modis模拟器,编译方式不一样。编译模拟器不一定要等整个工程编译完成之后才能编译,可以同时进行,也可以只编译模拟器,在等工程编译到开始写日志编译的时候,那个时候你就可以开始编译模拟器了。先说第一种原创 2010-11-15 15:53:00 · 3539 阅读 · 7 评论 -
MTK资源管理
资源文件生成的临时文件主要有:CustMenuTree_Out.c,这个文件是菜单临时文件,生成了我们的最终显示的菜单结构。如果你添加的菜单没有显示,正常显示的菜单突然不显示了或者显示错位了,或者显示的菜单与调用的功能不符合了,都可以从这里查到原因。resource_base_table.txt这个文件生成的是资源的ID范围,如果资源显示时出现了稀奇古怪的现在,就要看一下这个文件,检查一下你的资源文件是不是超出了设置的范围,如果超出了,就要修改MMIDataType.h重新设定范围。string_resou转载 2010-11-13 15:02:00 · 798 阅读 · 0 评论 -
拨号大字体
<br />路径:plutommi/mmi/GUI/GUI_INC<br />修改wgui.h文件(修改之后要new一下才能有效果)<br /> <br /> 在文件wgui.h中调试坐标信息<br /> //数字键列数<br /> #define MMI_DIALING_KEYPAD_COLOMNS (3)<br /> //数字键行数<br /> #define MMI_DIALING_KEYPAD_ROWS (4)原创 2010-12-07 19:23:00 · 1463 阅读 · 0 评论 -
开机流程
MMI的启动流程:mmi_bootup_start()mmi_bootup_entry_disk_check() // 磁盘检查mmi_bootup_exit_disk_check()//退出磁盘检查mmi_frm_power_on_init_procedure() // 开机初始化FlightModeCheckBeforeAnimation() // 检测飞行模式 Initia原创 2011-06-22 13:59:00 · 628 阅读 · 0 评论