0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在AMD Versal Gen 2上通过JTAG启动EDF镜像并刷写UFS的流程

XILINX开发者社区 来源:XILINX开发者社区 2026-05-09 15:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文作者:AMD 工程师 Longley Zhang

背景说明

本文基于 EDF 2025.11 版本进行测试,记录了在 VEK385 开发板上,如何:

1. 通过 JTAG 模式 启动 EDF 镜像;

2. 使用 TFTP 引导 Linux 内核与 rootfs;

3. 在 Linux 环境中使用官方发布的 wic 镜像 刷写 UFS 设备;

在 2025.11 的 EDF 文档里,烧写 UFS 主要是依赖 Image Recovery Application。而本文提供的流程不依赖 Image Recovery Application,方便在非开发板的环境下使用。

生成 boot.bin 和 system.dtb

首先从 edf-ospi 或 xilinx-bootbin 工程中生成 EDF 启动所需的 boot.bin 和 system.dtb。

具体的 Yocto 环境的构建,请参考这个中文博客:

https://adaptivesupport.amd.com/s/article/000039734?language=zh_CN

在构建环境中执行命令:

MACHINE=versal-2ve-2vm-vek385-revb-sdt-seg bitbake edf-ospi

MACHINE=versal-2ve-2vm-vek385-revb-sdt-seg bitbake xilinx-bootbin

构建完成后,从 /deploy/images 路径中拷贝生成的镜像文件:

boot.bin

system.dtb

生成 Linux 内核镜像与 rootfs

接下来生成 Linux kernel image 和 rootfs。

1.在 rootfs 中加入刷写 UFS 需要的工具,例如:

bmaptool

bmap-writer

ufs-utils

可以在 local.conf 中追加配置:

IMAGE_INSTALL:append = " bmaptool bmap-writer ufs-utils "

2. 在构建环境执行:

MACHINE=amd-cortexa78-mali-common bitbake core-image-full-cmdline

3. 构建完成后,从 /deploy/images 路径中拷贝下面文件:

Image

*.cpio.gz.u-boot

说明:

官方的 EDF 文档(PetaLinux to EDF Migration Guide | Boot Image on Hardware with JTAG)在 “Boot-Image-on-Hardware-with-JTAG” 一节中推荐 core-image-minimal,但该镜像非常精简,缺少很多必要的工具包(比如缺少SCP命令)。本文改用 core-image-full-cmdline,便于直接在系统内刷写 UFS。

EDF 文档:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/3467935747/PetaLinux+to+EDF+Migration+Guide#Boot-Image-on-Hardware-with-JTAG

通过 XSDB + JTAG 启动 boot.bin

1.将 XSDB 连接到 VEK385 板卡。

2. 在 xsdb 中通过 JTAG 加载并启动 boot.bin:

ta 1

device program boot.bin

执行成功后,在 UART 终端中进入 u-boot。

在 u-boot 中通过 TFTP 启动 Linux

进入 u-boot 命令行后:

1.配置网络参数(根据你的实际网络环境修改):

setenv serverip 10.10.70.101

setenv ipaddr 10.10.70.1

其中:

serverip:TFTP 服务器 IP 地址;

ipaddr:VEK385 板端 IP 地址。

2. 通过 TFTP 下载内核、设备树和 rootfs(cpio):

tftpboot 0x20000000 Image

tftpboot 0x22000000 system.dtb

tftpboot 0x23000000 core-image-full-cmdline-amd-cortexa78-mali-common.rootfs-20260205023743.cpio.gz.u-boot

注意:

core-image-full-cmdline-amd-cortexa78-mali-common.rootfs-20260205023743.cpio.gz.u-boot 的文件名中包含时间戳,你实际构建得到的文件名可能不同,请以你本地输出为准。

3. 启动 Linux:

booti 0x20000000 0x23000000 0x22000000

在 Linux 系统中刷写 UFS

成功进入 Linux 后,可以对 UFS 设备进行刷写。

1.切换到 root 用户,并确认 UFS 设备和分区:

sudo -s

#查找 UFS 设备及其分区信息

fdisk -l

根据 fdisk -l 的输出,确认 UFS 设备节点(例如 /dev/sda,实际以系统识别为准)。

2. 将 wic 镜像及 bmap 文件拷贝到板端本地内存:

可以使用 scp 从主机拷贝到开发板,例如:

#从服务器拷贝 bmap 文件

scp longley@10.10.70.101:/home/longley/2025.2/edf-linux-disk-image-amd-cortexa78-mali-common.rootfs-20251116015456.wic.ufs.bmap ./

#从服务器拷贝压缩的 wic 镜像

scp longley@10.10.70.101:/home/longley/2025.2/edf-linux-disk-image-amd-cortexa78-mali-common.rootfs-20251116015456.wic.ufs.xz ./

如板上有 SD 卡接口,也可以通过 SD 卡将这两个文件复制到板端内存。

3. 使用 bmap-writer 或 bmaptool 刷写 UFS:

方式一:使用 bmap-writer:

xzcat edf-linux-disk-image-amd-cortexa78-mali-common.rootfs-20251116015456.wic.ufs.xz

| bmap-writer -

edf-linux-disk-image-amd-cortexa78-mali-common.rootfs-20251116015456.wic.ufs.bmap

/dev/sda

方式二:使用 bmaptool:

bmaptool copy

--bmap edf-linux-disk-image-amd-cortexa78-mali-common.rootfs-20251116015456.wic.ufs.bmap

edf-linux-disk-image-amd-cortexa78-mali-common.rootfs-20251116015456.wic.ufs.xz

/dev/sda

注意事项:

/dev/sda 仅为示例设备节点,请根据 fdisk -l 的结果确认实际设备;

上述操作会覆盖整个 UFS 设备,刷写前请确认设备上无需要保留的数据。

文中使用的 wic 与 bmap 文件为 VEK385 官方发布的镜像,从 AMD 的 Wiki 下载获得。

UFS 配置相关说明

在对 UFS 进行刷写之前,需要按照官方文档完成 UFS 设备的配置与初始化。

您可参考以下文档中 “Device Configuration” 一节:

UFS Linux driver | Device Configuration:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/3103293588/UFS+Linux+driver#Device-Configuration

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • amd
    amd
    +关注

    关注

    25

    文章

    5715

    浏览量

    140507
  • JTAG
    +关注

    关注

    6

    文章

    416

    浏览量

    75303
  • 开发板
    +关注

    关注

    26

    文章

    6445

    浏览量

    121248
  • Versal
    +关注

    关注

    1

    文章

    177

    浏览量

    8549

原文标题:开发者分享 | 在 AMD Versal™ Gen 2 上通过 JTAG 启动 EDF 镜像并刷写 UFS 的流程

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AMD Versal自适应SoC使用QEMU+协同仿真示例

    在任意设计流程中,仿真都是不可或缺的关键组成部分。它允许用户无任何物理硬件的情况下对硬件系统进行确认。这篇简短的博客将介绍如何使用 QEMU + 协同仿真来对 AMD Versal
    的头像 发表于 08-06 17:21 2234次阅读
    <b class='flag-5'>在</b><b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>自适应SoC<b class='flag-5'>上</b>使用QEMU+协同仿真示例

    如何在Zynq UltraScale+ MPSoC平台上通过JTAG启动嵌入式Linux镜像

    之前文章中,我们介绍了如何使用 XSCT 工具通过 JTAG Zynq SoC 启动嵌入
    的头像 发表于 01-13 11:45 5140次阅读

    通过JTAG启动Linux的方法和脚本

    AMD SoC 器件(AMD Zynq 7000 SoC,AMD Zynq UltraScale+ MPSoC,AMD
    的头像 发表于 12-22 10:27 3672次阅读
    <b class='flag-5'>通过</b><b class='flag-5'>JTAG</b><b class='flag-5'>启动</b>Linux的方法和脚本

    【ALINX 技术分享】AMD Versal AI Edge 自适应计算加速平台之 Versal 介绍(2

    【ALINX 技术分享】AMD Versal AI Edge 自适应计算加速平台之 Versal 介绍,以及Versal 芯片开发流程的简介
    的头像 发表于 03-07 16:03 3008次阅读
    【ALINX 技术分享】<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> AI Edge 自适应计算加速平台之 <b class='flag-5'>Versal</b> 介绍(<b class='flag-5'>2</b>)

    AMD Versal自适应SoC中eMMC烧录/启动调试检查表(

    本篇博文提供了有关 AMD Versal 自适应 SoC 中 eMMC 烧录和启动设置的技巧和指南。它还可用于调试 eMMC 烧录/启动失败。提交服务申请个案前,应先复查以下检查表。
    的头像 发表于 03-09 10:24 2021次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>自适应SoC中eMMC烧录/<b class='flag-5'>启动</b>调试检查表(<b class='flag-5'>上</b>)

    【NanoPi2试用体验】刷写Debian Jessie 8.1

    [/url][url=http://pan.baidu.com/s/1dDE0Gwh#path=%252FNanoPi2]需要玩转GPIO物联网 NanoPi2编程 搞家庭服务器等
    发表于 12-25 21:58

    ZynqJTAG模式下的启动配置流程

    是怎样实现对自己的配置?  这也是本文将要和大家共同讨论的问题。  Zynq的启动流程  JTAG 的模式下,Zynq 是通过
    发表于 01-08 16:33

    ZynqJTAG模式下的启动配置流程

    本文主要与大家分享了ZynqJTAG模式下的启动配置流程,旨在让大家对Zynq的三阶段启动模式有一个具体的认识,希望大家多多交流。
    发表于 03-17 07:36

    ZynqJTAG模式下的启动配置流程

    JTAG 的模式下,Zynq 是通过CPU完成对芯片的配置,也就是PS和PL的配置是通过 PS 处理器 ARM 核来实现的。需要注
    的头像 发表于 10-19 09:11 2259次阅读

    AMD Versal自适应SoC CPM5 QDMA的Tandem PCIe启动流程介绍

    本文将从硬件设计和驱动使用两个方面介绍基于 CPM5 QDMA 的 AMD Versal 自适应 SoC 的 Tandem 设计和启动流程
    的头像 发表于 09-18 10:07 3017次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>自适应SoC CPM5 QDMA的Tandem PCIe<b class='flag-5'>启动</b><b class='flag-5'>流程</b>介绍

    AMD推出第二代Versal Premium系列

    Premium 系列将成为 FPGA 行业首款硬 IP 中采用 Compute Express Link( CXL )3.11 与 PCIe Gen6 支持 LPDDR5 存储器的器件。
    的头像 发表于 11-13 09:27 1852次阅读

    AMD推出了Versal Premium Series Gen 2,这是业界第一个支持CXL 3.1和PCIe Gen6的FPGA平台。

    AMD推出了Versal Premium Series Gen 2,这是业界第一个支持CXL 3.1和PCIe Gen6的FPGA平台。  
    的头像 发表于 11-21 15:59 2363次阅读
    <b class='flag-5'>AMD</b>推出了<b class='flag-5'>Versal</b> Premium Series <b class='flag-5'>Gen</b> <b class='flag-5'>2</b>,这是业界第一个支持CXL 3.1和PCIe <b class='flag-5'>Gen</b>6的FPGA平台。

    第二代AMD Versal Premium系列产品亮点

    、测试和与测量数据密集型应用的需求。第二代 AMD Versal Premium 系列能够加快数据流程1,2减少存储器瓶颈3,令数据密集型
    的头像 发表于 01-08 11:50 1554次阅读

    AMD Versal CPM5 QDMA Gen4x8 ST Only Performance Design CED示例

    本篇博文演示了AMD Vivado Design Suite 2024.1 中生成 CPM5_QDMA_Gen4x8_ST_Only_Performance_Design 使用为
    的头像 发表于 03-23 09:12 1619次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> CPM5 QDMA <b class='flag-5'>Gen</b>4x8 ST Only Performance Design CED示例

    AMD Versal Gen 2开发实战进阶工坊系列活动即将举办

    正式推出 —— AMD Versal Gen 2 开发实战进阶工坊系列活动即将在上海、苏州、深圳、广州、北京等多地举办。
    的头像 发表于 04-15 11:37 464次阅读