zoukankan      html  css  js  c++  java
  • MSTAR SERVICE结构

    程序结构:

    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()

  • 相关阅读:
    Eclipse护眼技巧
    Maven搭建SSM框架(Spring+SpringMVC+MyBatis)
    Spring之各jar包作用
    Maven新建web项目jsp报错
    js金额转大写(万元为单位)
    linux常用指令
    ie8下数组不支持indexOf方法解决方法
    string,stringBuffer,stringBuilder的比较
    input限制输入
    spring boot Mybatis --maven
  • 原文地址:https://www.cnblogs.com/jiangzhaowei/p/6971659.html
Copyright © 2011-2022 走看看