PXA System 是面向嵌入式产品的可移植应用系统。它把应用身份、生命周期、界面、权限与系统服务组织在共同的合约中,让应用开发与产品硬件适配可以分别迭代。
PXA 是什么的缩写?
PXA = Portable eXecutable Application,中文可译为 “可移植可执行应用”。三个字母分别取自 Portable、eXecutable、Application;其中 X 来自 eXecutable 中的字母 X。
| 字母 | 英文 | 含义 |
|---|---|---|
| P | Portable | 可移植:应用通过统一的接口与系统服务使用设备能力,减少对具体硬件的直接依赖。 |
| X | eXecutable | 可执行:应用代码以 WASM 或目标架构的 AOT 制品交付,由兼容的 Host 运行时加载执行。 |
| A | Application | 应用:拥有自己的身份、资源、权限和生命周期,可以独立安装与更新。 |
这个名称描述应用的可移植执行与打包模型。PXA Platform 指实现这一模型的 Host、服务合约和工具;PXA System 则围绕应用运行组织系统能力与产品集成。
“可移植”仍需要兼容的 SDK、服务和运行时。AOT 制品还须匹配目标架构;换一块屏幕可以通过 Profile 检查布局,换一种芯片则需要核对并构建相应目标制品。
名称定义见项目的 libpxa README。
应用与系统中的核心概念
| 概念 | 职责 | 你会接触到的内容 |
|---|---|---|
| PXA App | 独立开发、签名和分发的应用 | C/C++ Guest、package.json、.pxa 容器 |
| PXA System | 应用运行与产品组合 | libpxa、运行时、服务、角色、renderer |
| PXA Apps | 开源应用与资源 | 商城、天气、游戏与诊断示例 |
| PXA Workspace | ESP 产品集成工程 | 板级驱动、固件工具、PXADB、模拟器 |
Native 应用与 PXA 应用共享系统合约。PXA 应用通过 Host service 使用窗口、UI、时钟、音频与其他已授权能力;板级代码负责连接真实设备。
从你的目标开始
- 开发一个应用:先完成环境准备,再跟随第一个应用,用 apps.toml 简化命令。
- 没有硬件,先体验:使用产品模拟器运行签名应用,通过 Profile 验证不同屏幕。
- 接入已有 ESP 产品:阅读系统适配与已有固件接入。
- 适配全新板子:从新板适配建立最小显示通路。
- 发布给用户:完成真机测试后,阅读商城上架。
一次应用迭代的路径
应用源码 → WASM / 目标架构 AOT → 签名 .pxa
↓
模拟器 / PXADB 真机安装
↓
商城审核与分发
应用交付与固件烧录独立。更新 App 使用 .pxa 包;调整驱动或系统集成才需要重编译固件。
当前兼容性
PXA 的应用与接口版本仍在演进,当前仓库中有不同 Core SDK 版本的示例。包中声明 Core SDK、Service 需求、制品架构与运行时 ABI;这些条件需要与目标 Host 匹配。不要将“使用 WASM”理解为所有硬件、服务和运行时版本都能直接兼容。
本指南依据当前工作区与商城实现整理。示例默认在 Linux、工作区根目录执行;真实硬件接口以所用板级配置为准。
想先体验现成应用,可以从开源应用仓库开始,再根据目标选择开发与适配路线。