您的位置:首页 > 其它

如何快速上手一个手机平台

2011-08-01 09:40 405 查看
假如你以前在其它手机平台上开发过MMI APP,现在公司要更换手机平台,你如何能

快速了解新的手机平台?
首先,你要有一个该平台的运行环境(象MTK,展讯都提供一套完整的软件方案)。经

过简单的调试,该运行环境编译通过,并且可以运行出WIn32模拟器
其次,找出手机软件的运行入口。所有的手机启动过程如下:开机 ---〉初始化硬件设

备----〉初始化软件(全局变量,读取nv数据等)----〉开机动画,搜寻网络,Sim卡等--->

Idle界面。在vc工程下,你可以搜寻"Init","Initialize","start","task"等关键字,可能会找

到很多c文件包含这些关键字。然后,你可以根据文件名,以及文件所属的路径,排除大

部分搜索结果。在剩下的每个搜索结果处,加一个断点。按“F5”调试,程序会停在某个

断点。这个断点向上看看,可以找到手机软件的运行入口。沿着这个断点跟下去,你就可

以发现APP初始化,读取nv,Sim ,显示Animation等等......
第三,简单了解Idle。根据文件路径以及文件名,我们可以确定哪几个文件属于Idle

。一般来说,各个平台的Idle程序都比较乱,因为Idle修改的人多,上面Icon,状态特多。

在Idle文件里查找“create”“start”“entry”等关键字,通过设置断点,可以定位Idle的

入口及其出口。Idle不要细看,只要知道Idle的入口,以及从Idle如何进入MainMenu就行

了。
第四,详细了解MainMenu。MainMenu是所有模块中比较简单的一个,程序代码也比

较少。只要了解了MenuMain,我觉得各位就可以在该平台上修改一些简单的Bug了。
第五,自己动手写一个简单的App,在App中尝试使用各种控件。至于如何使用控件,

各位可以先看看哪些模块用到这些控件,把相关程序拷贝过来,稍加修改即可。
第六,尝试添加修改图片字符串资源。
第七,查找关键字“Timer”,看看程序如何使用Timer.
第八,理解消息传递,窗口调用,信息保存等等。
第九,还有了解一些每个注册的APP应用,其handle消息中的case都是由PS和ref底层传到MMI,
MMI做出人机界面的响应等等操作;还需要了解一些GPIO口的应用!对于复杂的流程都可以进行TRACE
跟踪或在simulater上进行模拟(除去一些对于硬件接口的调试),还有针对输入法lib 库与GUI控件的绑定,
字库文件的index 与输入法对应等等
第十,其他建议

1. 首先学习使用平台编译工具,系统如何编译平台的? 有的是makefile, 有的通过XML方式.

2. 目录结构, MMI, driver, OS, ThirdParts SW如何组织的.

3. Debug如何使用.不是每个平台都有Simulator,如果没有模拟器,又不懂Debug,那看代码是很累的.

4. 进入软件学习, 如果是MMI, 看看UI怎么编排的, 基本上一个平台贯穿的都是UI的变化.资源(字串, 字库, 图片,铃声 )哪些硬件支持,那些软件处理.

5. 看看软硬中断处理. SMS, CALL, ALARM等...

到此为止,你对一个新平台的MMI至少掌握了70%,至于其它的一些细枝末节,以

工作中再慢慢细抠。

本文来自:我爱研发网(52RD.com) - R&D大本营

详细出处:http://www.52rd.com/bbs/Archive_Thread.asp?SID=72547&TID=2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐