网站大量收购独家精品文档,联系QQ:2885784924

MTK程序分析专用课件.pptVIP

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MTK程序分析专用课件

MTK程序分析 康勤 2005.9 dxb.qnw.cc /zjdx / / / 3 http://3 http://3 /dx/ /sy/ /hlj/ /wj/ /bjdxb /zy/ /m/ / / 39. / / / / / / / / / / / 程序整体结构 程序的封装性,导致能看到的进程不多,很多进程都是以库的形式出现 程序员可以通过MTK提供的模版自己新加线程。在custom_config.c中 在custom_config.c中,通过MTK提供的模版,我们可以推测的出程序其他进程的创建和实现 dx.yutian.cc /bbs / / / /m 3 http://3 http://3 4 / www.qL /dx/ /sy/ /hlj/ /wj/ /bjdxb /zy/ /zjdx/dx/ /dxb 5 / / / / / / / ? / /m/ / / / / 39. / / /zjdx/ / / / / / / / / / http://3 http://3 程序整体结构 可以看到custom_comp_config_tbl结构,从这个结构,我们可以看到跟进程创建有关的需要使用到的一些参数:比如进程创建的入口,进程的堆栈空间大小和地址。 这个是提供给程序员添加新模块时需要使用到的,从这里我们可以推测其他进程的创建也应该是采用通用的方式 以下将举一些可以看到代码的线程进行分析: 程序整体结构 分析FMT模块。 FMT模块和MMI中的MMI_FILEMANAGER有着对应的关系。 可以把FMT模块看成是MMI_FILEMANAGER的底层操作模块。 MMI_FILEMANAGER是FMT的上层MMI管理。 程序整体结构 FMT很简单,但麻雀虽小五脏具全,一个进程应该具有的,它都含有,所以很方便分析 FMT的开始是从fmt_create开始的,这个可以从刚才讲的结构custom_comp_config_tbl中得到结论。在这个结构中需要传入一个进程的入口函数。FMT进程估计就是把fmt_create函数地址给传进去的。 程序整体结构 这个 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 */ 程序整体结构 我们需要关注的是fmt_task_main函数。这个函数可以说是整个进程的心脏。 它里面包含一个消息泵,就是一个无限循环,不停从消息队列中获取消息分发消息: 1。从消息队列中获取消息,通过函数receive_msg_ext_q来实现的,这个函数没有给出具体原代码,大家有兴趣可以通过里面的参数来猜想它的实现方式。 程序整体结构 2。设置当前活动模块stack_set_active_module_id。 3。分发消息,通过消息号,找到对应的消息处理函数,同时传入的参数中可能包含一些需要的参数数据,有时可能是具体数值,有时是全局的数据指针。处理完后封一个消息,发完需要回复的模块(一般是消息发起者模块) 程序整体结构 4。释放返回消息数据内存区域free_ilm。 到这时一个完整进程执行过程。 这个是一个小的进程的执行过程,其实其他的进行执行过程应该也差不多,虽然表面看起来不同,但实质上应该是一样的 我们来看MMI进程。 这个进程应该也像普通进程一样通过mmi_create来把入口传入进操作系统。 程序整体结构 这个入口也包含了一系列的入口函数地址,其中还是那个MMI_task最为关键,可以称之为心脏或消息泵。 在这个MMI_task里面,虽然看起

文档评论(0)

dart004 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档