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

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

3天内不再提示

如何在 Petalinux 下定位 decice-tree 错误

FPGA之家 来源:XILINX产品应用工程师 作者:张超 2022-07-21 09:16 次阅读

今天邀请到赛灵思专家和大家分享下如何在Petalinux下定位decice-tree错误的一些技巧。

首先我们来了解下 Petalinux 工程中 device-tree 的文件位置:

工具自动生成的device-tree文件位于

components/plnx_workspace/device-tree/device-tree,

该文件夹下的文件请勿自行修改,供用户编辑的 device-tree 文件位于

project-spec/meta-user/recipes-bsp/device-tree/files

对于大部分错误,通过 petalinux 工具的 error log 已经足够定位错误类型和位置。比如下面,

ERROR: device-tree-xilinx-v2020.1+gitAUTOINC+f725aaecff-r0do_compile: Error executing a python function inexec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was

……

Subprocess output:

/tmp/xilinx-zcu102-2020.2-2021.02.08-01.47.20-87H/work/zynqmp_generic-xilinx-linux/device-tree/xilinx-v2020.1+gitAUTOINC+f725aaecff-r0/system-user.dtsi ERROR (duplicate_label): /ethernet@ff0b0000: Duplicate label 'gem0' on /ethernet@ff0b0000 and /amba/ethernet@ff0b0000

ERROR: Input tree has errors, aborting (use -f to force output)

ERROR: Logfile of failure stored in: /tmp/xilinx-zcu102-2020.2-2021.02.08-01.47.20-87H/work/zynqmp_generic-xilinx-linux/device-tree/xilinx-v2020.1+gitAUTOINC+f725aaecff-r0/temp/log.do_compile.62492

ERROR: Task (/group/bcapps/chaoz/plnx_zcu102_bsp_2020p2/xilinx-zcu102-2020.2/components/yocto/layers/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb:do_compile) failed with exit code '1'

NOTE: Tasks Summary: Attempted 3410 tasks of which 3402 didn't need to be rerun and 1 failed.

……

ERROR: Failed to build project

实际的 log 会非常冗长,我们在其中仔细找 dtc 的报错,其中提示 “Duplicate label 'gem0' on /ethernet@ff0b0000 and /amba/ethernet@ff0b0000“,说明 ‘gem0’ 的 label 在多个地方重复定义了。而且报错也提示了错误的位置为“…/system-user.dtsi:3.31-15.9”,我们根据错误提示去删除重复的 gem0定义即可。

有时候通过 petalinux 的 log 无法定位到具体错误位置,这时候我们可以通过在 Petalinux 之外手动编译 device tree文件的方式来获得更具体的错误信息。手动编译需要用到dtc (Devicetree Compiler), 如果你的机器上还没有 dtc 的话可以从 linux-xlnx/scripts/dtc 位置找到源码并执行 make 来编译生成 dtc 工具。

如前所述 Petalinux 下的 device tree 分布在两个位置,我们先把所有 dts/dtsi 文件都拷贝到单独工作目录中方便后续手动编译。

设备树的顶层为 system-top.dts, 并引用了很多其它 dtsi 文件,类似 C 语言中的 include 机制。可以先利用 gcc 来进行预处理,将分立的 dts/dtsi 文件汇总到一个文件中,

gcc-I-E -nostdinc-undef-D__DTS__ -x assembler-with-cpp-o.dts.dts

再用 dtc 来编译设备树文件。

dtc-Idts-Odtb-oout.dtb.dts

接下来根据 dtc 的报错信息,就可以容易地定位到错误类型和位置。


原文标题:开发者分享 | 如何在 Petalinux 下定位 decice-tree 错误

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

审核编辑:彭静

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

    关注

    2

    文章

    4172

    浏览量

    69234
  • 源码
    +关注

    关注

    8

    文章

    573

    浏览量

    28584
  • 编译
    +关注

    关注

    0

    文章

    615

    浏览量

    32374
收藏 人收藏

    评论

    相关推荐

    Aurix pFlash内存部分是如何在微控制器级别上创建ECC写入错误的?

    我正在查看 Aurix pFlash 内存部分是如何在微控制器级别上创建 ECC 写入错误的,以及他们是如何通过故障注入技术使用它产生多位错误的 通常 ecc 错误是使用高电压和其他方
    发表于 01-22 07:37

    zedboard petalinux构建工程错误是什么原因造成的?

    记录:/home/ylh/xilinx/petalinux/hdmi_zed/building/tmp/work/plnx_zynq7-xlinx-linux-gnueabi/device-tree
    发表于 11-28 07:33

    智能定位技术在生活中的应用

    智能定位技术,这次我们主要来聊一下定位技术在我们身边有哪些应用。01智能定位技术的应用1.救援GPS信号好,定位精度高,冒险电影中的主角在进入丛林、沙漠进行冒险时
    的头像 发表于 11-09 08:17 434次阅读
    智能<b class='flag-5'>定位</b>技术在生活中的应用

    请问智能小车如何在一个空地上定位呢?

    请问智能小车如何在一个空地上定位呢?现在在空地上画上了黑线来寻迹,但是不够灵活,如何让小车随意去一个坐标呢?
    发表于 10-25 06:32

    请问如何在运行调试状态下观察FreeRTOS的运行参数?

    STM32F103RE+FreeRTOS+MDK5+STlink21,如何在调试运行状态下观察:堆栈使用、任务资源使用等参数? 2,已经在FreeRTOSConfig.h中打开以下定
    发表于 09-28 06:01

    PetaLinux工具文档:命令行参考指南

    电子发烧友网站提供《PetaLinux工具文档:命令行参考指南.pdf》资料免费下载
    发表于 09-15 14:52 0次下载
    <b class='flag-5'>PetaLinux</b>工具文档:命令行参考指南

    PetaLinux工具文档:参考指南

    电子发烧友网站提供《PetaLinux工具文档:参考指南.pdf》资料免费下载
    发表于 09-15 11:48 0次下载
    <b class='flag-5'>PetaLinux</b>工具文档:参考指南

    PetaLinux工具文档

    电子发烧友网站提供《PetaLinux工具文档.pdf》资料免费下载
    发表于 09-15 10:43 0次下载
    <b class='flag-5'>PetaLinux</b>工具文档

    TAU1201 多频标准精度定位模块

    应用提供高精度、高灵敏性、低功耗的解决方案。 • 支持所有民用导航卫星系统,支持北斗三号信号体制 • 同时接收 L1、L5 双频多模信号 • 显著提高卫星定位精度至亚米级,优异的抗多径干扰功能提升城市峡谷中场景下定位表现 • 高集成度表贴模块,最优性价比高精度
    发表于 09-11 09:36

    【KV260视觉入门套件试用体验】+01.开箱及petalinux系统测试(zmj)

    【KV260视觉入门套件试用体验】+01.开箱及petalinux系统测试(zmj) 感谢安富利官方和电子发烧友网提供的此次试用机会,可以体验【KV260视觉入门套件】的魅力。 (本节测试
    发表于 08-27 20:59

    TAU1201多系统多频导航定位模块

    : 1.支持所有民用导航卫星系统,支持北斗三号信号体制(B1C,B2a) 2.同时接收L1、L5双频多模信号 3.显著提高卫星定位精度至亚米级,优异的抗多干扰功能提升城市峡谷仲场景下定位表现 4.高级
    发表于 08-09 15:30

    Rpi SenseHAT与AMD-Xilinx Kria KR260和Petalinux的接口

    电子发烧友网站提供《Rpi SenseHAT与AMD-Xilinx Kria KR260和Petalinux的接口.zip》资料免费下载
    发表于 07-13 10:18 0次下载
    Rpi SenseHAT与AMD-Xilinx Kria KR260和<b class='flag-5'>Petalinux</b>的接口

    AMD Xilinx SoC:定制PetaLinux中的FSBL

    客户为AMD Xilinx SoC创建了PetaLinux工程。需要定制PetaLinux中的FSBL
    的头像 发表于 07-10 17:05 671次阅读

    使用PetaLinux 2019.2的Zynqberry Pi操作系统

    电子发烧友网站提供《使用PetaLinux 2019.2的Zynqberry Pi操作系统.zip》资料免费下载
    发表于 06-19 14:26 0次下载
    使用<b class='flag-5'>PetaLinux</b> 2019.2的Zynqberry Pi操作系统

    服务器log日志大,掌握这些可正确快速定位错误

    针对大量log日志快速定位错误地方
    的头像 发表于 06-05 18:14 434次阅读