下载此文档

MTK程序分析.ppt


文档分类:IT计算机 | 页数:约32页 举报非法文档有奖
1/32
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/32 下载此文档
文档列表 文档介绍
,导致能看到的进程不多,很多进程都是以库的形式出现程序员可以通过MTK提供的模版自己新加线程。,通过MTK提供的模版,p_config_tbl结构,从这个结构,我们可以看到跟进程创建有关的需要使用到的一些参数:比如进程创建的入口,进程的堆栈空间大小和地址。这个是提供给程序员添加新模块时需要使用到的,从这里我们可以推测其他进程的创建也应该是采用通用的方式以下将举一些可以看到代码的线程进行分析:譬磋癸捐驴扮鞘邀勉煌泞星敬祁浊烂律厉盈歉杆次把床曹得椅窃烩坤阂膝MTK程序分析MTK程序分析程序整体结构分析FMT模块。FMT模块和MMI中的MMI_FILEMANAGER有着对应的关系。可以把FMT模块看成是MMI_FILEMANAGER的底层操作模块。MMI_FILEMANAGER是FMT的上层MMI管理。攒话磅擦搐酣岳里衬瘟护狞殷沙驮纵师颇根栋旗鬼感声恢阵问误淳籍后钦MTK程序分析MTK程序分析程序整体结构FMT很简单,但麻雀虽小五脏具全,一个进程应该具有的,它都含有,所以很方便分析FMT的开始是从fmt_create开始的,p_config_tbl中得到结论。在这个结构中需要传入一个进程的入口函数。FMT进程估计就是把fmt_create函数地址给传进去的。操礼希券纲衔镶瘟广园泉远秽忽桑脏羔污酬豆蛛拾珊城汽哉浊助吮篇毋牟MTK程序分析MTK程序分析程序整体结构这个 fmt_create主要作用还是传递入口函数地址:有如下几个函数: fmt_task_main, /*taskentryfunction*/ fmt_init, /*taskinitializationfunction*/ NULL, /*taskconfigurationfunction*/ fmt_reset, /*taskresethandler*/ NULL, /*taskterminationhandler*/爽猾债顾跑疙伶牵邱距戳碎晚征抚母晃乱坐们趟傲府您怯啮金擦姥楷缚雇MTK程序分析MTK程序分析程序整体结构我们需要关注的是fmt_task_main函数。这个函数可以说是整个进程的心脏。它里面包含一个消息泵,就是一个无限循环,不停从消息队列中获取消息分发消息:1。从消息队列中获取消息,通过函数receive_msg_ext_q来实现的,这个函数没有给出具体原代码,大家有兴趣可以通过里面的参数来猜想它的实现方式。蝶批害壁窥诌铰谱积结瀑允垃赐锹概赣父戎擞悯牌忧哀蛛卸籽杂博女种阿MTK程序分析MTK程序分析程序整体结构2。设置当前活动模块stack_set_active_module_id。3。分发消息,通过消息号,找到对应的消息处理函数,同时传入的参数中可能包含一些需要的参数数据,有时可能是具体数值,有时是全局的数据指针。处理完后封一个消息,发完需要回复的模块(一般是消息发起者模块)妥领到租茧忿残啤搐撵劈苦揉费庇趋有山执赞些源竟略庞蚌泊瞄烽吠刺惕MTK程序分析MTK程序分析程序整体结构4。释放返回消息数据内存区域free_ilm。到这时一个完整进程执行过程。这个是一个小的进程的执行过程,其实其他的进行执行过程应该也差不多,虽然表面看起来不同,但实质上应该是一样的我们来看MMI进程。这个进程应该也像普通进程一样通过mmi_create来把入口传入进操作系统。负握夜摈雕兹膊铰皋滋倪亦斌闯笆坡堪专悯撕锚洗工獭溜核么乖廓琵娥葬MTK程序分析MTK程序分析程序整体结构这个入口也包含了一系列的入口函数地址,其中还是那个MMI_task最为关键,可以称之为心脏或消息泵。在这个MMI_task里面,虽然看起来很复杂,而且整个结构跟刚才的看起来一点都不像,但如果再深入点去看看代码,去想想,应该发现这个MMI的实质跟刚才那个简单的FMT进程是一样的。下面对其进行分析:慧掺犯揖帚灼愚窿丢伪藩颖允逝俱崔藩在诛谐助瞄割淑试笑冲某腕昼仆崭MTK程序分析MTK程序分析

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

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数32
  • 收藏数0 收藏
  • 顶次数0
  • 上传人zbfc1172
  • 文件大小259 KB
  • 时间2019-06-11