MTK使用了nucleus实时操作系统,在其上做了个内核抽象层的封装,以适应多种实时操作系统,如oscar、ThreadX、 nucleus。整个软件系统包括nucleus操作系统、平台设备驱动、协议栈、文件系统、WGUI、MMI、J2ME等。在这里MMI部分几乎包括了 操作系统内核、协议栈、文件系统之上的所有部分,其中WGUI也在其中。 MTK的软件架构:软件架构、KAL(内核抽象层)和OSL,数据类型和任务管理。而MMI的架构是UI/资源作为一块,而框架又作为一块。而框架提供操作系统抽象,历史管理,NVRAM访问,文件系统管理五小块,互相独立,又相辅相成。 MMI包含三个库:mmiresource\plutommi\mtkapp,其中mmiresource包含所有的MMI资源,plutommi 是MMI框架,mtkapp则是MTK开发的应用程序组。这样资源和框架独立开来,这样很容易更改工程的资源,无须更改MMI框架,缩短开发周期。 MMI资源有以下这些: 当你更改Res_XXX.c之类文件时,需要执行RemakeResource.bat重建资源. 下面简单说下Gsm2.mak的作用,它在make\目录中,是用于拷贝客户独立信息的,比如plutommi\customer \custresource\XXX_MMI\目录下的MMI_featuresXXX.h,CustMiscDataXXX.c和 CustResDefXXX.h和字体相关文件.它也用于产生和执行ResGenerator_HW.bat。 应用程序按键事件是这么个流程,协议栈写一个事件到MMI队列,MMI任务通过框架调用最新注册事件的回调函数,应用程序取得按键事件并做出回应。 应用层包含用户执行商务逻辑的自定义代码;框架层从所有任务中获取事件,为应用程序在运行时管理事件提供事件处理API;帮助应用程序屏幕控制流,和提供系统墙调用应用程序,如信息发送。用户界面层(UI)提供接口给用户。 |