系统与硬件

PXA DEVELOPER GUIDE

PXA 系统适配

选择平台、运行时、渲染器和产品策略,保持系统与驱动边界清晰。

中文指南 · 3 分钟阅读 · 开发版

先明确适配层级

已有 ESP-IDF 产品优先使用工作区的 board port 与 integration 层。新的操作系统或 MCU 平台则需要实现系统 Platform SPI、选择 renderer 与运行时,并验证其依赖能在目标平台运行。

产品应用 / 系统角色 / 产品服务
              ↓
       PXA System 公共合约
              ↓
Platform SPI   Renderer SPI   Runtime SPI
              ↓
       操作系统与板级驱动

1. 平台最小能力

准备分配器、单调时钟与墙上时钟、跨线程唤醒、日志、持久配置、随机数和签名校验。文件、网络、音频、传感器和显示电源按产品需要注册 provider。

先运行核心和 headless 测试,验证生命周期、事件分发与资源释放;不要一开始就把硬件 UI、网络和全量应用全部接进来。

2. 运行时与 renderer

Native runtime 与 PXA runtime 通过系统合约接入;PXA Host Core 在 libpxa,WAMR 是可选引擎适配。使用 AOT 时,编译器目标、ABI 与运行时配置必须成对验证。

Renderer 负责 surface 生命周期、UI 事务、Canvas、输入、主题快照和诊断。现有参考后端包括 headless 与 LVGL。平台公开接口避免暴露 ESP 驱动类型或 LVGL 私有对象。

3. 创建产品组合

pxsys_standard_system_create() 创建 registry、runtime、任务管理、角色、主题、renderer host、服务 registry 与事件 broker。产品随后绑定 renderer、应用、角色候选、服务与策略,再启动常驻角色和 Home。

Home、Settings、状态栏、导航栏、锁屏与权限提示等都由系统角色组织。产品通过被授权的候选覆盖角色,不必修改核心 dispatch。

4. 服务与权限策略

标准接口使用 system.*;产品扩展使用自己的反向域名与语义版本。为 provider 明确权限、并发、取消、版本和清理规则。平台资源句柄留在实现内部,避免跨边界传递驱动对象。

产品 Profile 选择可信发布者、服务访问策略、默认主题、预装应用和恢复策略。商城目录签名与应用发布者签名各有用途,应分别配置和验证。

5. 适配验收

  • 核心在缺少可选 provider 时仍可编译,并明确返回能力不可用。
  • Native 与 PXA 绑定呈现一致的身份、权限和生命周期行为。
  • 应用退出或异常后,surface、异步任务和资源可以回收。
  • 内存不足、签名失败、权限拒绝和安装中断都有可观察错误路径。
  • headless、桌面与目标硬件各自通过相应测试。

当前系统合约仍在演进。新平台不能仅凭编译通过就宣称已兼容全部 PXA 应用。ESP 路径继续阅读ESP 板子构建。

参考实现与资料zh-CN/product-integration.md ↗zh-CN/portability.md ↗

输入关键词,搜索全部教程。