qiuri2008

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

程序结构:

1、主线程的构建 appMain.c/appMain_Create():

     

2、主线程服务构建  _appMain_Task()

  清空服务:

  memset(_appMain.appList, 0, sizeof(AppGetInfo)*APP_NUM_MAX);

  添加服务:如菜单/DEMOD/监控/时间日期等服务

  

3、服务间的切换及通信:

  举例:当前ZAPPER APP,要切换到UI APP,并执行UI的命令,即启动ABS “E_APP_CMD_STARTUP_ABS_MENU”

  不同服务的切换都是在"AppMain Task"线程完成。

  

4、当前服务命令的处理 MApp_Menu.c:

  如:UI服务命令处理 _appMenu_CommandRcv():

  注意:CMD/MSG的分发在_appMenu_Create()的新建"Menu_TASK"线程完成,回调“_appMenu_TaskEntry()”中处理。

    即每个服务的调度,都会在服务的Create中新建THREAD中处理。

  

5、_appMenu_Create()的"_appMenu_TaskEntry()"CMD及MSG处理

  _appMenu_TaskEntry()完成了SERVICE到TurnKey入口MApp_ZUI_MainTask()的交接,

  

   如下:取到CMD处理后,其它转到ZUI TurnKey 的总入口MApp_ZUI_MainTask()处理:

    另外,本机键/BOOK预约检测BK_Monitor_CheckBook()/多媒体播放控制MApp_MPlayer_Task()

  

6、TurnKey ZUI总入口: MApp_ZUI_Main.c->MApp_ZUI_MainTask():

  消息/定时器的获取及分发

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

内存地址转化:MemPA2VA()/MemVA2PA()

 

posted on 2017-06-09 13:42  江召伟  阅读(670)  评论(0编辑  收藏  举报