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

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

3天内不再提示

如何使用Lopper实用工具为目标处理器生成DTB

XILINX开发者社区 来源:XILINX开发者社区 2026-02-24 11:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文作者:AMD 工程师 Stephenm

本文将讨论如何使用 Lopper 实用工具为目标处理器生成 DTB。

Lopper 概述

Lopper 是一个基于 Python 的框架,用于从系统设备树中抽取系统元数据,例如,处理器地址映射上的处理器和 IP。

目前,Lopper 框架 API 不会通过 AMD Vitis统一软件平台直接向用户公开。相反,Vitis Python API(例如平台、域、系统工程和应用组件创建)使用底层 Lopper 框架 API。Lopper 框架还用于生成 xparameters.h、连接器脚本以及驱动程序和库初始化文件。

Lopper 还可用于从系统设备树 (SDT) 中为目标处理器“剪裁”设备树二进制对象 (DTB)。

系统设备树 (SDT) 概述

系统设备树 (SDT) 是 AMD Vitis Unified 流程中新引入的概念。原先在 Vitis 传统流程中,硬件元数据是根据 Vitis 工具的要求通过“特殊处理”方式使用 HSI API 从 XSA 直接抽取的,例如,抽取处理器用于创建平台或者抽取 IP 用于创建 BSP。

在 Vitis Unified 流程中,我们现在会在生成平台时创建 SDT,并通过 Lopper 实用工具将硬件元数据提供给 Vitis。这与 Linux 中使用的设备树概念类似,但顾名思义,SDT 是一个系统级设备树,包含所有 CPU 集群(及其各自的地址映射)和系统级存储器。典型的 Linux 设备树专用于目标处理器(例如 Cortex A53 #0)的地址映射。

所有组件都派生自 SDT,例如平台、应用、域等。SDT 也将用于创建面向处理器的设备树。它还用于派生系统级元数据,例如地址映射中的 IP 和处理器。

SDT 在 Vitis Unified 中用于描述硬件元数据,但它也可用于为目标处理器“剪裁”DTB。

生成 SDT

SDT 是使用 SDTgen 生成的,它是来自 XSCT 的基于 Tcl 的实用工具:

sdtgen set_dt_param -dir sdt_out -xsa design_1_wrapper.xsa -board_dts versal-vck190-rev1.1 sdtgen generate_sdt

设置 -board_dts 选项来传递 VCK190 评估板的 .dtsi 文件。这样做是因为 XSA 只包含 AMD Vivado设计套件 IP integrator 块设计 (BD) 中 IP 的硬件元数据。

但是,如果想生成能够在 Linux 或 U-Boot 中工作的 DTB,则需要传递 PHY 的板级 DT 节点和 I2C 器件。在 SDTgen 中可以查看开发板列表 :

https://github.com/Xilinx/system-device-tree-xlnx/tree/master/device_tree/data/kernel_dtsi/2024.1/BOARD

这将把 SDT 文件(.dts 和 .dtsi 文件的集合)生成到 sdt_out 中。现在可以在此 SDT 文件夹上使用 Lopper 来抽取和“剪裁”DTB。

使用 Lopper 获取处理器

要从 SDT 获取处理器列表,请运行以下命令:

source lopper_settings.sh export LOPPER_DTC_FLAGS="-b 0 -@" lopper -f -i ./lopper/lopper/lops/lop-cpulist.dts ./sdt_out/system-top.dts

从 Lopper 为 Cortex A72 # 0 生成 DTB

lopper -f --enhanced -i ./lopper/lopper/lops/lop-a72-imux.dts ./sdt_out/system-top.dts system.dtb -- gen_domain_dts psv_cortexa72_0 linux_dt

为分段流程生成 DTB 和 PL DTBO

lopper -f --enhanced ./sdt_out/system-top.dts ./sdt_out/system.dts -- xlnx_overlay_dt cortexa72-versal full; lopper -f --enhanced -O . -i ./lopper/lopper/lops/lop-a72-imux.dts ./sdt_out/system.dts ./$(SDT_OUT)/system.dtb -- gen_domain_dts psv_cortexa72_0 linux_dt; dtc -I dts -O dtb -o ./sdt_out/pl.dtbo pl.dtsi

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

    关注

    68

    文章

    20381

    浏览量

    255629
  • 设备树
    +关注

    关注

    0

    文章

    45

    浏览量

    3611
  • Vitis
    +关注

    关注

    0

    文章

    160

    浏览量

    8443

原文标题:开发者分享 | 使用 Lopper 从系统设备树生成设备树二进制对象

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    matlab的实用工具命令

    matlab的实用工具命令实用工具 Abcdchk  检测(A、B、C、D)组的一致性 Chop 取n个重要的位置 Dexresp 离散取样响应函数 
    发表于 09-22 15:56

    申请实用工具软件版主!【申请通过】

    标题:申请实用工具软件区版主会员ID:jianqian1991年龄:20注册日期:忘记了!申请日期:2010-04-27申请版块:实用工具软件特长及爱好:篮球,电影申请理由:无!每天都到这里下资料!问问题!总不能没点贡献!自学阶段没有技术!只想申请个
    发表于 04-27 09:10

    51单片机实用工具

    51单片机实用工具
    发表于 12-20 22:36

    LabVIEW实用工具***宝典课件

    不知道有没有人上传过《labview实用工具详解》和宝典配合真的很赞,不过只有前几章,我是从图书馆借的书,大家可以买一本
    发表于 01-25 22:40

    Labview实用工具详解 代码下载

    本帖最后由 tòrγㄚ 于 2015-7-8 10:10 编辑 Labview实用工具详解 代码下载
    发表于 06-30 15:43

    LabVIEW实用工具详解简版.pdf

    LabVIEW实用工具详解简版[url=https://bbs.elecfans.com/forum.php?mod=attachment&aid=MjcwNTU1fDk1ZTc1NWUyfDE0MzgwNDM5Nzl8MTM3MTg4fDUwMjI1MQ%3D%3D][/url]
    发表于 07-28 08:34

    labview实用工具详解 配套程序

    labview实用工具详解 配套程序
    发表于 10-22 01:04

    调整线条宽度的实用工具

    调整线条宽度的实用工具 在使用AutoCAD绘图软件绘制各类图形的工作中。最后一个阶段是将图形文件最终在打印机、绘图机上输出图纸。
    发表于 02-14 17:04 1197次阅读

    uartassist串口调试助手_实用工具

    uartassist串口调试助手_实用工具,感兴趣的小伙伴们可以瞧一瞧。
    发表于 11-17 11:16 43次下载

    多种电子工程师实用工具大全

    本文主要介绍了多种电子工程师实用工具大全.
    发表于 06-27 08:00 140次下载
    多种电子工程师<b class='flag-5'>实用工具</b>大全

    电阻色环的识别实用工具应用程序免费下载

    本文档的主要内容详细介绍的是电阻色环的识别实用工具应用程序免费下载。
    发表于 11-12 08:00 5次下载
    电阻色环的识别<b class='flag-5'>实用工具</b>应用程序免费下载

    windows启动修复实用工具免费下载

    本文档的主要内容详细介绍的是windows启动修复实用工具免费下载。
    发表于 12-10 08:00 1次下载
    windows启动修复<b class='flag-5'>实用工具</b>免费下载

    LLC计算的实用工具应用程序免费下载

    本文档的主要内容详细介绍的是LLC计算的实用工具应用程序免费下载。
    发表于 03-31 08:00 93次下载
    LLC计算的<b class='flag-5'>实用工具</b>应用程序免费下载

    频率电感电容计算的实用工具免费下载

    本文档的主要内容详细介绍的是频率电感电容计算的实用工具免费下载。
    发表于 05-06 16:38 49次下载
    频率电感电容计算的<b class='flag-5'>实用工具</b>免费下载

    如何使用 Python 来创建一些强大的应用和实用工具

    本文将探讨如何以 Zynq UltraScale 器件上的 IP 核目标,使用 Python 来创建一些强大的应用和实用工具。此处提供了一个程序包,供您用于读取设备树和访问 IP 核。此外还提供一个
    发表于 09-08 10:23 1273次阅读