系统与硬件

PXA DEVELOPER GUIDE

已有固件接入

用独立 adapter 连接现有产品,复用已初始化的显示和驱动。

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

保持驱动所有权

已有产品不必迁移全部板级实现。把 adapter 放在原 BSP 旁边,让它包装公开 Board、显示和控制 API。通用 integration 和系统核心不包含产品私有类。

参考模板

查看 templates/legacy-board-adapter/legacy_board_adapter.cc.example。模板的 Display() 默认返回空指针,必须改成真实显示对象;legacy_* 或示意调用不代表现成接口。

实施顺序:

  1. 确认原固件已完成 LCD、LVGL 与输入初始化。
  2. adapter 的 initialize 复用已初始化资源,避免重复创建总线或显示任务。
  3. display 返回有效显示,display_profile 描述真实逻辑尺寸和安全区。
  4. 注册 pxa_board_port_t,检查注册结果。
  5. 在显示准备好后调用 pxa_integration_start()。
  6. 确认旧 UI 与 PXA 对 Home、输入和渲染资源的所有权安排。

引入系统组件

可把系统仓库作为 component 或加入 EXTRA_COMPONENT_DIRS。LVGL renderer、WAMR、产品 provider 和 UI 由产品显式选择;不要以引入核心仓库代替完整产品组合。

公共依赖与原固件若使用不同 LVGL 主版本,需要先处理兼容性。板级数据分区和应用信任策略也必须显式配置。

常见冲突

冲突 处理方向
两个显示初始化入口 由原 BSP 保持唯一初始化,adapter 只引用
旧 UI 抢占触控 明确输入路由和应用切换所有权
LVGL 锁与任务冲突 保持原产品的线程与锁约定
退出 App 后黑屏 检查系统角色恢复与显示资源回收
通用模块引用产品头文件 将映射移回 adapter

完成接入后使用 Hello、PXADB 截图与重复启动测试验证,再逐步替换系统角色或增加产品服务。

参考实现与资料legacy-board-adapter/README.zh-CN.md ↗legacy-board-adapter/legacy_board_adapter.cc.example ↗esp-idf/README.zh-CN.md ↗

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