0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在 Petalinux 下定位 decice-tree 錯(cuò)誤

FPGA之家 ? 來源:XILINX產(chǎn)品應(yīng)用工程師 ? 作者:張超 ? 2022-07-21 09:16 ? 次閱讀

今天邀請(qǐng)到賽靈思專家和大家分享下如何在Petalinux下定位decice-tree錯(cuò)誤的一些技巧。

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

工具自動(dòng)生成的device-tree文件位于

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

該文件夾下的文件請(qǐng)勿自行修改,供用戶編輯的 device-tree 文件位于

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

對(duì)于大部分錯(cuò)誤,通過 petalinux 工具的 error log 已經(jīng)足夠定位錯(cuò)誤類型和位置。比如下面,

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

實(shí)際的 log 會(huì)非常冗長(zhǎng),我們?cè)谄渲凶屑?xì)找 dtc 的報(bào)錯(cuò),其中提示 “Duplicate label 'gem0' on /ethernet@ff0b0000 and /amba/ethernet@ff0b0000“,說明 ‘gem0’ 的 label 在多個(gè)地方重復(fù)定義了。而且報(bào)錯(cuò)也提示了錯(cuò)誤的位置為“…/system-user.dtsi:3.31-15.9”,我們根據(jù)錯(cuò)誤提示去刪除重復(fù)的 gem0定義即可。

有時(shí)候通過 petalinux 的 log 無法定位到具體錯(cuò)誤位置,這時(shí)候我們可以通過在 Petalinux 之外手動(dòng)編譯 device tree文件的方式來獲得更具體的錯(cuò)誤信息。手動(dòng)編譯需要用到dtc (Devicetree Compiler), 如果你的機(jī)器上還沒有 dtc 的話可以從 linux-xlnx/scripts/dtc 位置找到源碼并執(zhí)行 make 來編譯生成 dtc 工具。

如前所述 Petalinux 下的 device tree 分布在兩個(gè)位置,我們先把所有 dts/dtsi 文件都拷貝到單獨(dú)工作目錄中方便后續(xù)手動(dòng)編譯。

設(shè)備樹的頂層為 system-top.dts, 并引用了很多其它 dtsi 文件,類似 C 語言中的 include 機(jī)制??梢韵壤?gcc 來進(jìn)行預(yù)處理,將分立的 dts/dtsi 文件匯總到一個(gè)文件中,

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

再用 dtc 來編譯設(shè)備樹文件。

dtc-Idts-Odtb-oout.dtb.dts

接下來根據(jù) dtc 的報(bào)錯(cuò)信息,就可以容易地定位到錯(cuò)誤類型和位置。


原文標(biāo)題:開發(fā)者分享 | 如何在 Petalinux 下定位 decice-tree 錯(cuò)誤

文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:彭靜

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 設(shè)備
    +關(guān)注

    關(guān)注

    2

    文章

    4347

    瀏覽量

    70271
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    626

    瀏覽量

    28968
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    646

    瀏覽量

    32670
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    在VSCODE終端make時(shí)遇到錯(cuò)誤要一行一行看然后定位,可以直接跳轉(zhuǎn)點(diǎn)擊或者VSCODE定位錯(cuò)誤嗎?

    每次在VSCODE終端make時(shí)遇到錯(cuò)誤要一行一行看然后定位,可以直接跳轉(zhuǎn)點(diǎn)擊或者VSCODE直接定位錯(cuò)誤嗎?能給個(gè)指引鏈接嗎?謝謝!
    發(fā)表于 06-25 07:37

    一文讀懂CAN通訊錯(cuò)誤

    CAN總線通信技術(shù)廣泛應(yīng)用于多個(gè)行業(yè),是每個(gè)總線設(shè)計(jì)工程師必學(xué)的一個(gè)通訊網(wǎng)絡(luò)。然而,對(duì)于CAN通信中的錯(cuò)誤幀,許多人僅停留在表面了解,缺乏深入理解,這導(dǎo)致許多工程師在面對(duì)總線通信故障時(shí)感到無從下手
    的頭像 發(fā)表于 06-12 08:24 ?2100次閱讀
    一文讀懂CAN通訊<b class='flag-5'>錯(cuò)誤</b>幀

    Aurix pFlash內(nèi)存部分是如何在微控制器級(jí)別上創(chuàng)建ECC寫入錯(cuò)誤的?

    我正在查看 Aurix pFlash 內(nèi)存部分是如何在微控制器級(jí)別上創(chuàng)建 ECC 寫入錯(cuò)誤的,以及他們是如何通過故障注入技術(shù)使用它產(chǎn)生多位錯(cuò)誤的 通常 ecc 錯(cuò)誤是使用高電壓和其他方
    發(fā)表于 01-22 07:37

    CMOS設(shè)置錯(cuò)誤的解決方法

    CMOS設(shè)置錯(cuò)誤的解決方法? CMOS是計(jì)算機(jī)中的一塊電路,用于存儲(chǔ)電腦的基本配置信息。如果設(shè)置錯(cuò)誤,可能會(huì)導(dǎo)致計(jì)算機(jī)無法正常啟動(dòng)或運(yùn)行,因此需要盡早解決。本文將為你詳細(xì)介紹如何解決CMOS設(shè)置錯(cuò)誤
    的頭像 發(fā)表于 12-28 15:13 ?7075次閱讀

    ug內(nèi)部錯(cuò)誤,內(nèi)存訪問違例怎么解決

    ug內(nèi)部錯(cuò)誤,內(nèi)存訪問違例怎么解決 內(nèi)部錯(cuò)誤和內(nèi)存訪問違例是編程中常見的問題,它們可能會(huì)導(dǎo)致應(yīng)用程序崩潰、數(shù)據(jù)丟失或系統(tǒng)不穩(wěn)定。在本文中,我將詳細(xì)解釋內(nèi)部錯(cuò)誤和內(nèi)存訪問違例的原因,如何解決這些
    的頭像 發(fā)表于 12-27 16:27 ?5269次閱讀

    vlookup常見的12種錯(cuò)誤

    VLOOKUP是Excel中非常常用的函數(shù)之一,它能夠根據(jù)指定的值,在某一列范圍內(nèi)進(jìn)行查找,并返回相應(yīng)的值。雖然VLOOKUP是一個(gè)強(qiáng)大的函數(shù),但是由于其復(fù)雜性和靈活性,常常容易出現(xiàn)一些錯(cuò)誤。在本文
    的頭像 發(fā)表于 12-01 11:19 ?2511次閱讀

    智能定位技術(shù)在生活中的應(yīng)用

    就包括智能定位技術(shù),這次我們主要來聊一下定位技術(shù)在我們身邊有哪些應(yīng)用。 01 智能定位技術(shù)的應(yīng)用 1.救援 GPS信號(hào)好,定位精度高,冒險(xiǎn)電影中的主角在進(jìn)入?yún)擦帧⑸衬M(jìn)行冒險(xiǎn)時(shí),通常會(huì)
    的頭像 發(fā)表于 11-30 15:29 ?603次閱讀
    智能<b class='flag-5'>定位</b>技術(shù)在生活中的應(yīng)用

    zedboard petalinux構(gòu)建工程錯(cuò)誤是什么原因造成的?

    記錄:/home/ylh/xilinx/petalinux/hdmi_zed/building/tmp/work/plnx_zynq7-xlinx-linux-gnueabi/device-tree
    發(fā)表于 11-28 07:33

    腳本錯(cuò)誤scripterror怎么解決

    “腳本錯(cuò)誤”(Script Error)通常是在運(yùn)行或嘗試運(yùn)行一段腳本或程序時(shí)出現(xiàn)的錯(cuò)誤。這種錯(cuò)誤可能源于許多不同的原因,包括語法錯(cuò)誤、運(yùn)行環(huán)境問題、依賴庫缺失等。解決腳本
    的頭像 發(fā)表于 11-26 14:46 ?5737次閱讀

    TSMaster采樣點(diǎn)配置方法與消除錯(cuò)誤幀流程

    當(dāng)通訊節(jié)點(diǎn)間采樣點(diǎn)參數(shù)和波特率參數(shù)不匹配造成一些錯(cuò)誤幀時(shí),我們?nèi)?b class='flag-5'>何在TSMaster中設(shè)置以及調(diào)整波特率參數(shù)和采樣點(diǎn)參數(shù),來減少以及消除總線上出現(xiàn)的錯(cuò)誤幀,進(jìn)一步提高通信質(zhì)量。本文著重講解講解
    的頭像 發(fā)表于 11-25 08:21 ?590次閱讀
    TSMaster采樣點(diǎn)配置方法與消除<b class='flag-5'>錯(cuò)誤</b>幀流程

    c語言代碼錯(cuò)誤怎么找

    當(dāng)我們編寫C語言代碼時(shí),常常會(huì)遇到一些錯(cuò)誤。這些錯(cuò)誤可能是語法錯(cuò)誤,邏輯錯(cuò)誤或者是運(yùn)行時(shí)錯(cuò)誤。無論是什么類型的
    的頭像 發(fā)表于 11-24 10:05 ?2444次閱讀

    智能定位技術(shù)在生活中的應(yīng)用

    智能定位技術(shù),這次我們主要來聊一下定位技術(shù)在我們身邊有哪些應(yīng)用。01智能定位技術(shù)的應(yīng)用1.救援GPS信號(hào)好,定位精度高,冒險(xiǎn)電影中的主角在進(jìn)入?yún)擦帧⑸衬M(jìn)行冒險(xiǎn)時(shí)
    的頭像 發(fā)表于 11-09 08:17 ?730次閱讀
    智能<b class='flag-5'>定位</b>技術(shù)在生活中的應(yīng)用

    請(qǐng)問智能小車如何在一個(gè)空地上定位呢?

    請(qǐng)問智能小車如何在一個(gè)空地上定位呢?現(xiàn)在在空地上畫上了黑線來尋跡,但是不夠靈活,如何讓小車隨意去一個(gè)坐標(biāo)呢?
    發(fā)表于 10-25 06:32

    哪些錯(cuò)誤PLC新手容易犯?

    PLC新手在使用和編程PLC時(shí)容易犯以下一些常見錯(cuò)誤: (1)電氣接線錯(cuò)誤:PLC的輸入和輸出需要正確地與外部設(shè)備進(jìn)行連接。新手可能會(huì)犯接線錯(cuò)誤,例如接錯(cuò)線圈端子、斷開或短路電線等。這可能導(dǎo)致PLC
    的頭像 發(fā)表于 10-11 17:10 ?709次閱讀

    請(qǐng)問如何在運(yùn)行調(diào)試狀態(tài)下觀察FreeRTOS的運(yùn)行參數(shù)?

    STM32F103RE+FreeRTOS+MDK5+STlink21,如何在調(diào)試運(yùn)行狀態(tài)下觀察:堆棧使用、任務(wù)資源使用等參數(shù)? 2,已經(jīng)在FreeRTOSConfig.h中打開以下定
    發(fā)表于 09-28 06:01