mtk\MTK程序分析.ppt
MTK程序分析主要探讨的是基于MediaTek平台的程序设计与执行流程。MediaTek是一个知名的芯片制造商,其开发的软件框架通常被用于智能手机和平板电脑等设备。这份文档着重讲解了程序的整体结构、线程创建、以及核心模块的运作机制。 MTK程序的封装性较强,许多进程是以库的形式存在,而不是单独的可执行文件,这使得在系统层面看到的进程数量较少。程序员可以利用MTK提供的模板来新增线程,具体操作在`custom_config.c`文件中进行配置。通过`custom_config.c`中的`custom_comp_config_tbl`结构,我们可以了解到进程创建所需的参数,如入口函数、堆栈大小和地址等信息,为自定义模块提供了便利。 接下来,文档分析了FMT模块,它是MMI_FILEMANAGER的底层操作组件,MMI_FILEMANAGER作为FMT的上层管理模块。FMT进程从`fmt_create`函数启动,此函数接收一系列入口函数地址,包括`fmt_task_main`(任务主入口函数)、`fmt_init`(初始化函数)、`fmt_reset`(重置处理函数)等。`fmt_task_main`是进程的核心,其中包含一个消息泵,通过无限循环从消息队列中获取并分发消息。消息的处理包括接收消息(`receive_msg_ext_q`)、设置当前活动模块(`stack_set_active_module_id`)、根据消息号调用对应的处理函数以及释放消息数据内存(`free_ilm`)。 然后,文档转向了MMI进程的分析。MMI进程同样通过`mmi_create`函数传入入口,其核心是`MMI_task`,类似于FMT的`fmt_task_main`,负责处理消息。尽管`MMI_task`的结构看起来更为复杂,但它与FMT进程的本质相似。消息的处理使用`OslReceiveMsgExtQ`(实际上是`receive_msg_ext_q`的别名)从消息队列获取,`OslStackSetActiveModuleID`(`stack_set_active_module_id`的别名)用于设置活动模块,而消息的分发则通过`ProtocolEventHandler`进行,该函数根据消息ID调用相应的处理函数,实现消息的管理和调度。 MTK程序分析主要涉及程序结构的封装性、自定义线程的创建方法、核心模块(如FMT和MMI)的工作原理,以及消息处理机制。这些内容对于理解MediaTek平台上的应用程序开发和优化至关重要。通过对FMT和MMI的深入分析,开发者可以更好地掌握如何在MTK环境中设计高效、稳定且可扩展的程序。
剩余31页未读,继续阅读
- 粉丝: 4
- 资源: 92
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助