现在的位置: 首页 > 综合 > 正文

AEE运行机制深入剖析——阅读笔记

2018年05月08日 ⁄ 综合 ⁄ 共 701字 ⁄ 字号 评论关闭

AEE: application execute Environment  应用执行环境
1.aee在操作系统层面,没有独立的task,只是依附于UI_TASK的一个函数调用
2.applet是否active标准:有无LCD和键盘(外设控制权)
3.每个applet都可以得到执行权
4.消息和回调本质上是一回事
AEE_Dispatch()进行任务调度
ui_task()会在需要时(由一个AEE_APP_SIG信号量控制)调用AEE_Dispatch  信号量由底层定时器定时发送来控制
5.applet的三种状态:
active;suspend;background
2状态的APPLET当处于状态1的APPLET关闭后,自动转为状态1 ;状态3不会自动激活,很多时候用来实现一些SERVICE
状态切换:每次启动一个新的APPLET 当前APPLET就会收到SUSPEND消息变成挂起状态;当前活动APPLET退出,下一个APPLET会收到RESUME消息并由

SUSPEND转为ACTIVE;要使一个APPLET进入background,必须调用ISHELL—CLOSEAPPLET去关闭APPLET,这时APPLET会收到ON_Stop消息,若消息返回

true,关闭;进行如下处理 转为background:
case EVT_APP_STOP:
{
boolean *pb=(boolean *)dwParam;
if(pb)
{
   *pb=FALSE;//设置APPLET为后台
}
break;
...

}
如果它想切换回ACT,直接调用IShell_StartApplet()
对于后台APP调用它就发送On_Start;对于挂起则发送Resume

抱歉!评论已关闭.