下载此文档

mtk程序分析.ppt


文档分类:IT计算机 | 页数:约32页 举报非法文档有奖
1/32
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/32 下载此文档
文档列表 文档介绍
?程序的封装性,导致能看到的进程不多,很多进程都是以库的形式出现?程序员可以通过MTK提供的模版自己新加线程。?,通过MTK提供的模版,我们可以推测的出程序其他进程的创建和实现2程序整体结构?p_config_tbl结构,从这个结构,我们可以看到跟进程创建有关的需要使用到的一些参数:比如进程创建的入口,进程的堆栈空间大小和地址。?这个是提供给程序员添加新模块时需要使用到的,从这里我们可以推测其他进程的创建也应该是采用通用的方式?以下将举一些可以看到代码的线程进行分析:3程序整体结构?分析FMT模块。?FMT模块和MMI中的MMI_FILEMANAGER有着对应的关系。?可以把FMT模块看成是MMI_FILEMANAGER的底层操作模块。MMI_FILEMANAGER是FMT的上层MMI管理。4程序整体结构?FMT很简单,但麻雀虽小五脏具全,一个进程应该具有的,它都含有,所以很方便分析?FMT的开始是从fmt_create开始的,p_config_tbl中得到结论。在这个结构中需要传入一个进程的入口函数。FMT进程估计就是把fmt_create函数地址给传进去的。5程序整体结构?这个fmt_create主要作用还是传递入口函数地址:有如下几个函数:?fmt_task_main,/* task entry function */?fmt_init,/* task initialization function */?NULL,/* task configuration function */?fmt_reset,/* task reset handler */?NULL,/* task termination handler */6程序整体结构?我们需要关注的是fmt_task_main函数。这个函数可以说是整个进程的心脏。?它里面包含一个消息泵,就是一个无限循环,不停从消息队列中获取消息分发消息:?1。从消息队列中获取消息,通过函数receive_msg_ext_q来实现的,这个函数没有给出具体原代码,大家有兴趣可以通过里面的参数来猜想它的实现方式。7程序整体结构?2。设置当前活动模块stack_set_active_module_id。?3。分发消息,通过消息号,找到对应的消息处理函数,同时传入的参数中可能包含一些需要的参数数据,有时可能是具体数值,有时是全局的数据指针。处理完后封一个消息,发完需要回复的模块(一般是消息发起者模块)8程序整体结构?4。释放返回消息数据内存区域free_ilm。?到这时一个完整进程执行过程。?这个是一个小的进程的执行过程,其实其他的进行执行过程应该也差不多,虽然表面看起来不同,但实质上应该是一样的?我们来看MMI进程。?这个进程应该也像普通进程一样通过mmi_create来把入口传入进操作系统。9程序整体结构?这个入口也包含了一系列的入口函数地址,其中还是那个MMI_task最为关键,可以称之为心脏或消息泵。?在这个MMI_task里面,虽然看起来很复杂,而且整个结构跟刚才的看起来一点都不像,但如果再深入点去看看代码,去想想,应该发现这个MMI的实质跟刚才那个简单的FMT进程是一样的。?下面对其进行分析:10

mtk程序分析 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数32
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ranfand
  • 文件大小374 KB
  • 时间2016-09-19