宏远天翔 Wiki

A7-3588 · 异构开发

RK3588 与 FPGA 协同开发

系统组成

A7-3588 由 RK3588 与 FPGA 协同工作,两者通过 PCIe 3.0 ×4 连接。RK3588 沿用核心 BSP 和已引出的外设支持,承担操作系统、驱动管理与应用运行;FPGA 承担工程定义的硬件逻辑,并通过 PCIe 与主机侧交换控制信息和业务数据。

完整的软件与逻辑链路包括 FPGA 工程、RK3588 内核驱动和用户程序。寄存器布局、数据格式和任务完成条件应作为工程协议统一维护。

工程构建与集成

  1. 固定 BSP 源码、内核配置和交叉编译环境,保存本次构建使用的版本记录。
  2. 构建 FPGA 工程,完成逻辑检查和时序检查,生成工程发布的配置文件。
  3. 按工程既定流程加载 FPGA 配置,使 PCIe 逻辑在主机枚举时就绪。
  4. 将配套驱动纳入 BSP 构建,或使用与运行内核一致的头文件、配置和编译器构建模块。
  5. 启动系统,检查 FPGA 设备 ID、链路状态、BAR 资源与驱动加载日志。
  6. 构建并安装用户程序,使用与 FPGA 和驱动配套的协议定义运行功能测试。

分层测试

首先完成 PCIe 链路与枚举测试,记录设备 ID、协商速率和宽度。随后执行驱动初始化测试,检查资源申请、设备接口建立和退出清理。控制通路测试应选择协议允许的状态读取与控制操作。数据通路从少量数据开始,逐步增加长度与连续运行时间。最后开展业务测试,记录输入条件、结果正确性、吞吐、延时、CPU 占用和温度。

版本配对与发布

每次发布将 BSP、内核、FPGA 配置、驱动和用户程序作为一组版本管理,同时保存构建记录、文件校验值、协议版本和测试结果。升级其中任一组件后,重新执行枚举、控制、数据与业务测试。更多 PCIe 排查见 PCIe。