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()
MSTAR SERVICE结构的更多相关文章
- 转-Web Service中三种发送接受协议SOAP、http get、http post
原文链接:web服务中三种发送接受协议SOAP/HTTP GET/HTTP POST 一.web服务中三种发送接受协议SOAP/HTTP GET/HTTP POST 在web服务中,有三种可供选择的发 ...
- 浅谈 kubernetes service 那些事(上篇)
一.问题 首先,我们思考这样一个问题: 访问k8s集群中的pod, 客户端需要知道pod地址,需要感知pod的状态.那如何获取各个pod的地址?若某一node上的pod故障,客户端如何感知? 二.k8 ...
- 蓝牙协议栈记录—BTStack
TSTack User Guid 翻译过来的 1.简介 2.BTStack 架构 BTStack在所实现的协议和服务之间采用很多状态机实现相互作用,特点: <1>单线程.BTStack只有 ...
- 【转载】linux内核启动android文件系统过程分析
主要介绍linux 内核启动过程以及挂载android 根文件系统的过程,以及介绍android 源代码中文件系统部分的浅析. 主要源代码目录介绍Makefile (全局的Makefile)bioni ...
- Remoting和Webservice的区别
其实现的原理并没有本质的区别,在应用开发层面上有以下区别:1.Remoting可以灵活的定义其所基于的协议,如果定义为HTTP,则与Web Service就没有什么区别了,一般都喜欢定义为TCP,这样 ...
- Asp.net面试题
Asp.net核心技术思想 1.概述反射和序列化 反射:程序集包含模块,而模块包含类型,类型又包含成员.反射则提供了封装程序集.模块和类型的对象.您可以使用反射动态地创建类型的实例,将类型绑定到现有对 ...
- 简述WebService与.NET Remoting的区别及适应场合 WCF
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhoufoxcn.blog.51cto.com/792419/166990 为了 ...
- 基于live555的视频直播 DM368IPNC RTSP分析
因需要,从个人的理解顺序和需求角度对live555的分析与开发整理,包含RTSP Server与RTSP Client.如何直播H.264流与JPEG流等,均进行了探讨,对live555的初学者有一定 ...
- Android系统的开机画面显示过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7691321 好几个月都没有更新过博客了,从今天 ...
随机推荐
- Host Controller transport layer and AMPs
The logical Host Controller Interface does not consider multiplexing/routing over the Host Controlle ...
- thrift的使用及遇到的问题
centos 系统安装官方文档:http://thrift.apache.org/docs/install/centos 一.按该文档安装出现了一系列的问题,记录如下: 1.安装thrift时./bo ...
- Markdown基础以及个人经验
前言 DFRobot论坛今日支持Markdown发帖了: [md] your content here [/md] 非常棒,再也不怕辛辛苦苦排个版,一夜回到解放前.这里介绍一下Markdown写博客发 ...
- weblogic中部署项目报错org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken .
原因: 原因是weblogic要查找自己的antlr,和lib下面的antlr包冲突.... 解决方法: 在weblogic.xml添加 <container-descriptor> ...
- Vue.js 使用cordova camera插件调取相机
本文给出在vue.js里如何使用cordova的插件完成调取相机及图库,并完成图片上传的操作.具体的操作步骤如下 第一步:在cordova项目下安装cordova-plugin-camera插件 co ...
- JavaScript闭包其一:闭包概论 函数式编程中一些基本定义
http://www.nowamagic.net/librarys/veda/detail/1707前面介绍了作用域链和变量对象,现在再讲闭包就容易理解了.闭包其实大家都已经谈烂了.尽管如此,这里还是 ...
- $modal 参数 以及 使用方法
$modal是一个可以迅速创建模态窗口的服务,创建部分页,控制器,并关联他们 $modal仅有一个方法open(options) templateUrl:模态窗口的地址 template:用于显示ht ...
- bzoj-2251 外星联络
题意: 给出一个字符串,求出现次数超过1的子串的出现个数. 字符串长度<=3000: 题解: 题目问的是子串的个数.那么首先我们要找到全部的子串. 而字符串的全部后缀的前缀能够不重不漏的表示全部 ...
- commons io上传文件
习惯了是用框架后,上传功能MVC框架基本都提供了.如struts2,springmvc! 可是假设项目中没有使用框架.而是单纯的使用jsp或servlet作为action,这时我们就能够使用commo ...
- swift3.0系列完整demo代码库
https://github.com/soapyigu/Swift30Projects 感谢作者