- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
展讯基础知识介绍
展讯基础知识介绍 在线客户端部:曾献 2009.10.13 目录 展讯平台简介 展讯平台MMI软件开发介绍(对比MTK平台差异) 开发工具介绍 参考文献 第一章 展讯平台简介 展讯平台简介 展讯通信有限公司,成立于2001年,总部上海,主要致力于无线通信及多媒体终端的核心芯片、专用软件和参考设计平台的开发。 展讯手机平台: 1)硬件资源cpu:一般为ARM7 2)操作系统:ThreadX实时操作系统 3)GSM/GPRS协议栈,物理层软件 4)外设(LCD, keypad等),串口SIO等 5)AT命令接口 6)产品型号(基带芯片):SC6600H、SC6600I、SC6600R(这3种是目前市场上最常用的也是我们目前开发用的2G系列的平台)最新出了一个SC6600L. 第二章 展讯平台MMI软件开发介绍(对比MTK平台差异) MMI模块三个重要概念 Application:应用,指MMI中的应用模块。例如:SMS,CC等。一个应用可以有多个窗口。 Window:窗口,用于显示和处理送给此窗口的各种消息。例如:按键消息,Timer消息等。一个窗口可以有多个控件。 Control:控件,可以完成某种特定的功能。例如:编辑框,文本显示框,动画,弹出框等。 1.窗口/屏幕(对比MTK) a.框架的区别 1)展讯平台,窗口是仿windows系统的框架,更多的使用消息处理机制,没有层的概念,显示效果比较单一化。 2)MTK平台,屏幕上有层的特效。 示例: 在mtk 上,进入一个新屏调用 EntryNewScreen (SCR_ID, ExitFunc, EntryFunc, NULL); 其中SCR_ID是自己定义的一个窗口枚举ID。 在展讯上,调用 MMK_CreateWin((uint32*)TEST_WIN_TAB, PNULL); 其中TEST_WIN_TAB是自己定义的一个uint32*型的全局常量 窗口/屏幕(续上) LOCAL MMI_RESULT_E // LOCAL == static HandleTestWinMsg (MMI_WIN_ID_T win_id , MMI_MESSAGE_ID_E msg_id, DPARAM param); WINDOW_TABLE(TEST_WIN_TAB) = //WINDOW_TABLE是一个宏,值为const uint32 TEST_WIN_TAB [ ] { CLEAR_LCD, // 清除 lcd buffer WIN_PRIO(WIN_ONE_LEVEL), // 窗口的优先级,WIN_ONE_LEVEL该值是一般优先级。 WIN_FUNC((uint32)HandleTestWinMsg), //该窗口对应的消息处理函数。 WIN_ID(TEST_WIN_ID), // TEST_WIN_ID为该窗口的ID,相当于MTK上的SCR_ID。 …… END_WIN // 系统解析该窗口时的尾部标识 }; Window Table实际上是一个Const数组,主要是为了简化应用的界面开发,在MMI应用开发过程中,开发人员可以将一些固定的元素,如窗口的处理函数、优先级、ID、控件的固定属性等等放入这个 Tabel中,再通过 MMK_CreateWin 创建打开这个窗口,同时MMI Kernel会自动去解析这张Table中的内容,并搭建好整个窗口关系(窗口的空间分配、属性设置、与控件的组织等)。这些可以将很多界面性的开发独立处理,方便以后的扩充和修改。可以参考看下 window_prase.h这个头文件. TEST_WIN_TAB一般定义在 Win.def 内,使用例如:WIN_DEF(TEST_WIN_TAB ) TEST_WIN_ID定义在头文件(比如mmiacc_id.def)里,使用例如 WIN_DEF_ID(TEST_WIN_ID,”TEST_WIN_ID”) 窗口/屏幕(续上) b.按键注册的区别 在MTK上: 一般使用: SetKeyHandler ( Func_Ptr, KEY_VALUE, KEY_EVENT);来进行按键的注册。其中第一个参数 Func_Ptr是该按键所调用的函数, KEY_VALUE为该按键的键值,KEY_EVENT为该按键的事件。 在展讯上: 按键的注册只需要在窗口消息处理函数里加上一个对应的switch消息即可。如注册一个左软键事件为: LOCAL MMI_RESULT_E // LOCAL == static HandleTestWinMsg(MMI_WIN_ID_T
文档评论(0)