Qualcomm平台AEE运行机制深度解析

需积分: 10 2 下载量 199 浏览量 更新于2024-10-05 收藏 102KB PDF 举报
"该文档是关于Qualcomm平台AEE(Application Execute Environment)运行机制的深入分析,主要针对Android系统,适合Brew平台上的应用程序开发者阅读。文档详细解释了AEE的相关概念、关键技术以及任务调度机制,有助于理解Brew平台的App调度和资源管理。 一、名词解释: 1. BREW:无线二进制运行环境,是Qualcomm开发的一个用于移动设备的应用程序平台。 2. Applet:在AEE中的执行单元,类似于小型应用或服务。 3. Task:操作系统级别的任务实体。 4. Rex:文中提到的操作系统,可能是指Qualcomm平台上的特定操作系统。 5. AEE:应用程序执行环境,是BREW平台上负责应用程序管理和调度的组件。 二、关键技术分析: 1. AEE并非操作系统中的独立任务,而是依附于ui_task的一个功能调用。 2. Applet的活动状态并不意味着占用CPU,而是在AEE层面上能否控制LCD和键盘。 3. Applet是静态代码,由哪个任务调用就在哪个任务上下文运行,因此BREW平台上的Applet没有严格的激活和非激活状态,每个Applet都有可能被执行。 4. Rex操作系统不具备分时特性,一个任务如果不主动让出CPU,其他任务无法获得执行权。 5. AEE维护一个消息队列,可以通过IShell组件隐式操作其内部组件,消息队列尤其关键。 6. 消息和回调在本质上等同,向Applet发送消息与调用其回调函数的效果相似。 三、AEE任务调度机制: AEE的启动始于ui_task调用AEE_Init()初始化。核心调度函数是AEE_Dispatch(),当调用此函数时,AEE会进行内部任务调度。调度过程包括从消息队列头部取出最优先的消息,根据消息内容决定执行相应的Applet或执行回调函数。 AEE在Qualcomm平台上的作用是协调和管理BREW应用程序的执行,通过消息队列和调度机制实现任务间的交互和资源分配。这对于理解和优化在该平台上的应用程序性能至关重要。开发者需要理解AEE的工作原理,以便更好地设计和调试BREW应用。