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

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

3天内不再提示

如何在Petalinux下定位decice-tree错误的一些技巧

FPGA之家 来源:XILINX开发者社区 作者:赛灵思开发者 2022-07-21 09:15 次阅读

首先我们来了解下 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 已经足够定位错误类型和位置。比如下面,

实际的 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 的报错信息,就可以容易地定位到错误类型和位置。



审核编辑:刘清

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

    关注

    87

    文章

    11292

    浏览量

    209323
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136683
  • GCC
    GCC
    +关注

    关注

    0

    文章

    107

    浏览量

    24835

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

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

收藏 人收藏

    评论

    相关推荐

    如何使用ZCU102 Petalinux教程获取BSP?

    我正在尝试在ZCU102板上运行一些Xilinx 10G'参考设计(XAPP1305),我想使用petalinux创建和部署linux,但不使用Xilinx为板提供BSP。我正在
    发表于 10-21 07:46

    构建PetaLinux应用程序代码时出现错误的解决办法?

    我已经仔细阅读了PetaLinux工具参考指南,并在我的虚拟机上运行了PetaLinux SDKup。使用PetaLinux SDK开发C应用程序似乎非常具有挑战性。每当代码中出现任何错误
    发表于 05-01 11:55

    无法下载petalinux怎么办

    适用于所有操作系统,但我无法安装?我也无法下载petalinux,所以租赁帮助我通过一些说明如何下载和安装petalinux以及如何在ubintu14.04上安装vivado日Thnx
    发表于 05-22 15:03

    何在ADS里面看任务执行的一些情况?

    何在ADS里面看任务执行的一些情况?比如堆栈
    发表于 10-21 14:14

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

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

    petalinux(二)开启petalinux内核调试模式

    获得基于调试模式的petalinux,需要一些特定的配置设定,有一些特定的配置需要设置为了获取PetaLinux基于内核调试工作。
    发表于 11-18 13:46 1.1w次阅读
    <b class='flag-5'>petalinux</b>(二)开启<b class='flag-5'>petalinux</b>内核调试模式

    Linux Device Tree的基本概念

    一些背景知识(例如:为何要引入Device Tree,这个机制是用来解决什么问题的)请参考引入Device Tree的原因,本文主要是介绍Device Tree的基础概念。
    发表于 05-10 11:33 1183次阅读
    Linux Device <b class='flag-5'>Tree</b>的基本概念

    导致PCB组装的常见错误有哪一些

    导致PCB组装的常见错误有哪一些
    的头像 发表于 09-08 12:38 4140次阅读

    人工智能的一些错误研究方向

    人工智能(以下简称AI)技术是近些年非常火热的技术话题,而且有愈加火热之势,但是热潮之下,乱象也频频发生,不仅有些滥竽充数的技术研究“挂羊头、卖狗肉”,还有一些技术研究的方向可能也是错误的。
    的头像 发表于 03-28 16:01 3057次阅读

    Petalinux工程中设备树的介绍

    设备树是 Petalinux kernel 的关键组件,接下来以 2020.1 版本为例,为大家介绍下在Xilinx Petalinux 工程中的设备树是如何产生,配置以及修改
    的头像 发表于 02-20 16:32 6911次阅读
    <b class='flag-5'>Petalinux</b>工程中设备树的介绍

    何在Petalinux创建Linux内核模块?

    创建内核模块 Petalinux可以帮助工程师简化内核模块的创建工作。在petalinux工程目录下,使用命令“ petalinux-create -t modules --name
    的头像 发表于 03-02 11:10 4367次阅读

    煤矿井下定位系统的原理及功能

    煤矿井下定位系统为何会被如此重视?“安全第,预防为主”。煤矿井下定位系统是煤矿井下安全避险“六大系统”的重要组成部分。目前井下人员定位技术正在从区域
    发表于 04-02 11:18 2.4w次阅读

    煤矿井下定位系统为什么选择UWB定位技术

    在煤矿行业痛点需求以及政策的双重推动下,煤矿井下定位系统的应用已经大面积铺开,各项室内定位技术的发展为煤矿安全水平的提升提供契机,而在经过系列煤矿井下定位系统的演变,对
    发表于 04-11 11:06 1198次阅读
    煤矿井<b class='flag-5'>下定位</b>系统为什么选择UWB<b class='flag-5'>定位</b>技术

    何在 Petalinux 下定位 decice-tree 错误

      今天邀请到赛灵思专家和大家分享下如何在 Petalinux 下定位 decice-tree 错误
    的头像 发表于 07-21 09:16 2233次阅读

    用于在挖泥机下定位人员的自治系统

    电子发烧友网站提供《用于在挖泥机下定位人员的自治系统.zip》资料免费下载
    发表于 12-27 09:16 0次下载
    用于在挖泥机<b class='flag-5'>下定位</b>人员的自治系统