Linux 开发系统定制R5核风扇温控,选自ALINX 黑金云课堂 FPGA 免费直播课。该课程由 ALINX 资深工程师团队倾力打造,从 0 到 1 系统化教学,帮助每位工程师跨过 FPGA 开发门槛。
🔍 ALINX:关注 ALINX,进入视频号即可查看完整黑金云课堂 FPGA 视频教程。配合笔记学习效果更佳。
定位:依托 Vivado 导出的 XSA 硬件文件生成,是硬件、驱动、底层操作系统的统一基础工程,可被多个应用工程复用,支撑 Zynq 异构多核开发。
搭建流程:
• 图形界面:设置工作目录 → 导入 XSA → 配置硬件资源与底层库 → 编译工程。
• 命令行模式:通过 sdtgen 生成设备树、empyro 生成 BSP 文件,脱离 IDE 完成构建。
• 依赖关系:必须绑定已完成编译的平台工程才能创建。
• 搭建流程:关联平台工程 → 选定运行核心域 → 添加用户源码 → 编译、在线调试。
AMP(非对称多核):Zynq MPSoC 架构分工:
• APU (A53 主核):运行 Linux,负责复杂业务、网络交互;
• RPU (R5 从核):运行裸机 / FreeRTOS,承担硬实时控制、高速采集、故障保护。
OpenAMP 框架作用:解决多核间三大核心需求,包含三大组件:
• libmetal:硬件抽象层,屏蔽芯片与系统底层差异;
• remoteproc:远程核生命周期管理,实现 R5 固件加载、启停与资源隔离;
• RPMsg:基于 VirtIO 协议的核间双向消息通信总线。
分别完成平台工程、R5 端 OpenAMP 应用工程构建,生成 R5 固件 elf 文件。

a. 基于 sdtgen 设备树创建 ZynqMP 类型 Petalinux 工程,导入硬件描述;
petalinux-create project -n petalinux --template zynqMPcd petalinuxpetalinux-config --get-hw-description ../sdt_outdir/b. 配置系统参数,修改设备树声明多核共享内存、核间中断;c. 编译生成 BOOT.BIN 系统启动文件;
petalinux-buildpetalinux-package boot --u-boot --fpga --forced. 交叉编译 Linux 端测试程序 echo_test。
a. 制作 SD 启动卡,放入 Linux 镜像、R5 固件 elf、Linux 测试程序;b. 开发板 SD 模式启动,Linux 端通过 remoteproc 节点加载并启动 R5 固件;c. 运行 Linux 测试程序,完成 APU 与 RPU 跨核消息通信验证。
# 将 openamp_echo_test.elf 拷贝到 /lib/firmware cp -rf /home/petalinux/openamp_echo_test.elf /lib/firmware/# 将 openamp_echo_test.elf 加载到 RPUecho openamp_echo_test.elf > /sys/class/remoteproc/remoteproc0/firmwareecho start > /sys/class/remoteproc/remoteproc0/state# 执行 echo_test 程序,开始测试/home/petalinux/echo_test💡 完整视频讲解可前往 ALINX 视频号进行直播回看
更多细节欢迎关注我们黑金云课堂全年免费直播课,黑金云课堂八月直播日历 我们将在每周二、三、四,同步推进 Verilog开发、Vitis开发、Linux开发三大系列,带你从零开始,稳扎稳打掌握 FPGA 开发全流程!

