精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Petalinux工程中設備樹的介紹

YCqV_FPGA_EETre ? 來源:XILINX嵌入式 ? 作者:Terry Ni ? 2021-02-20 16:32 ? 次閱讀

設備樹是 Petalinux kernel 的關鍵組件,接下來以 2020.1 版本為例,為大家介紹一下在Xilinx Petalinux 工程中的設備樹是如何產生,配置以及修改的。

Petalinux 工程中設備樹的位置

當我們創(chuàng)建了一個 petalinux 工程后(以zcu102為例),在編譯的時候,會自動生成對應的設備樹文件。這些設備樹的描述信息通常在以下2個工程路徑下。

第一個是在 components/plnx_workspace/device-tree/device-tree 路徑下,這個路徑下主要保存的都是基于你導入的hdf/xsa后,自動生成的設備樹信息。通常包括PS的設備樹,時鐘的設備樹,PL 部分 IP 的設備樹(Xilinx發(fā)布的包含驅動的IP),以及設備樹頭文件。

。/components/plnx_workspace/device-tree/device-tree/zynqmp-clk-ccf.dtsi

。/components/plnx_workspace/device-tree/device-tree/zcu102-revc.dtsi

。/components/plnx_workspace/device-tree/device-tree/pl.dtsi

。/components/plnx_workspace/device-tree/device-tree/system-top.dts

。/components/plnx_workspace/device-tree/device-tree/zynqmp.dtsi

。/components/plnx_workspace/device-tree/device-tree/system-conf.dtsi

。/components/plnx_workspace/device-tree/device-tree/pcw.dtsi

另一個是在 project-spec/meta-user/recipes-bsp/device-tree/files路徑下,這個路徑下主要就是用戶基于自動生成的設備樹,自行添加和修改的部分。這部分可以查看 UG1144 第10章 Device Tree Configuration 節(jié)的內容。

。/project-spec/meta-user/recipes-bsp/device-tree/files/openamp.dtsi

。/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi

。/project-spec/meta-user/recipes-bsp/device-tree/files/pl-custom.dtsi

。/project-spec/meta-user/recipes-bsp/device-tree/files/xen-qemu.dtsi

。/project-spec/meta-user/recipes-bsp/device-tree/files/xen.dtsi

需要注意的是,如果 petalinux-config-》DTGsettings-》MACHINE_NAME 采用的是xilinx開發(fā)板預設的名稱的話(UG1144DTG Settings 章節(jié)中的 Machine name 的說明),那么會自動生成對應開發(fā)板相關的設備樹信息。

b1c67ca2-71af-11eb-8b86-12bb97331649.png

所以如果使用的是自己的硬件平臺,那么盡量不要使用預設的名稱,這樣可以避免導入多余的設備樹信息從而導致編譯失敗或者最終功能不正確。

如何修改設備樹

1. 基于自動生成的設備樹,添加和修改節(jié)點。

通過修改。/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi,來實現(xiàn)對之前已經定義的設備樹節(jié)點中的屬性進行變更,也可以添加沒有自動生成的設備樹節(jié)點。

/dts-v1/;

/include/ “system-conf.dtsi”

/ {

};

&gem0 {

phy-handle = 《&phy0》;

ps7_ethernet_0_mdio: mdio {

phy0: phy@7 {

compatible = “marvell,88e1116r”;

device_type = “ethernet-phy”;

reg = 《7》;

};

};

};

gpio-leds {

compatible = “gpio-leds”;

led-ds23 {

label = “l(fā)ed-ds23”;

gpios = 《&ps7_gpio_0 10 0》;

default-state = “on”;

linux,default-trigger = “heartbeat”;

};

};

有時候為了方便設備樹的管理,可以定義多個設備樹文件,然后在 system-user.dtsi 中將這些設備樹文件都包含進去,如下所示。

/include/ “system-conf.dtsi”

/include/ “system-user-1.dtsi”

/include/ “system-user-2.dtsi”

/include/ “system-user-3.dtsi”

/ {

};

當添加了其他的dtsi文件后,還需要修改。/project-spec/meta-user/recipes-bsp/device-tree/device-tree.bbappend 文件,將這些 dtsi 文件的路徑信息包含進去。如下所示。

SRC_URI += “file://system-user.dtsi”

SRC_URI += “file://system-user-1.dtsi”

SRC_URI += “file://system-user-2.dtsi”

SRC_URI += “file://system-user-3.dtsi”

2. 完全使用自己的設備樹

我們還可以更改 petalinux-config-》 Auto Config Settings 中的配置,直接使用自己編寫好的設備樹。

取消 Devicetree autoconfig,使能 Specify a manual device tree include directory, 然后指定設備樹的路徑地址。

b209458c-71af-11eb-8b86-12bb97331649.png

怎么描述設備樹

設備樹中描述的信息都是要與 kernel中設備的驅動互相對應的。如果驅動中需要某個參數(shù),但是設備樹中并沒有包含,很可能就會編譯錯誤或者直接使用了默認值,從而導致工作異常。kernel 的設備驅動中,一般都會包含設備樹的描述說明來保證設備樹的正確。你可以在 git上的 kernel 源碼中找到響應的設備樹說明。以 GPIO 驅動為例。你可以找到相關的設備樹描述信息如下。

https://github.com/Xilinx/linux-xlnx/blob/xlnx_rebase_v5.4_2020.1/Documentation/devicetree/bindings/gpio/gpio-zynq.txt

Example:

gpio@e000a000 {

#gpio-cells = 《2》;

compatible = “xlnx,zynq-gpio-1.0”;

clocks = 《&clkc 42》;

gpio-controller;

interrupt-parent = 《&intc》;

interrupts = 《0 20 4》;

interrupt-controller;

#interrupt-cells = 《2》;

reg = 《0xe000a000 0x1000》;

};

另外,你可以查看 xilinx wiki上 linux driver 的主題頁面來獲取所有 Xilinx 支持的設備驅動內容,其中包含有各個設備樹的例子以及相關配置等說明。

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841873/Linux+Drivers

反編譯設備樹

為了最終確認設備樹是否正確,我們可以通過 dtc 這個小應用,將 dtb 文件反編譯成 dts 設備樹文件。這個設備樹文件,從 system-top.dts 這個 top 文件開始,把所有包含的設備樹內容都整合到了一個 dts 文件中,便于我們確認最終的設備樹是否正確。其命令格式如下

dtc-I dtb -O dts -o system.dts system.dtb

原文標題:開發(fā)者分享 | Petalinux 工程中設備樹的介紹

文章出處:【微信公眾號:FPGA開發(fā)圈】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Xilinx
    +關注

    關注

    71

    文章

    2164

    瀏覽量

    121039

原文標題:開發(fā)者分享 | Petalinux 工程中設備樹的介紹

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發(fā)圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    請問PCM1864的驅動在設備該如何描述?

    請問PCM1864的驅動在設備該如何描述呢: 1. 我使用的不是TI的LINUX內核,是另外一款SOC的LINUX內核 2. 我在設備做了以下描述: ps7-i2c@e00040
    發(fā)表于 10-23 07:30

    Multi-Scaler IP的Linux示例以及Debug(下)

    設置好 2022.2 Petalinux 環(huán)境。使用 2022.2 ZCU06 BSP,創(chuàng)建 Petalinux 工程:
    的頭像 發(fā)表于 09-18 10:05 ?297次閱讀
    Multi-Scaler IP的Linux示例以及Debug(下)

    使用CYUSB3014將電路連接到PC時,它沒有出現(xiàn)在設備管理器,為什么?

    當我將一塊使用 CYUSB3014 的電路板連接到 PC 時,設備管理器設備會隨著連接的更新而更新,但設備
    發(fā)表于 07-05 08:28

    如何使用CubeMX生成的設備編譯鏡像?

    我的硬件平臺是MP135,我現(xiàn)在想給它增加一個串口UART8,于是我打算修改設備。但是在使用SDK的時候我遇到了些問題。按照官方的`how to do.txt`,我編譯了u-boot,在
    發(fā)表于 05-31 14:41

    原理圖設計里兩顆重要的(國產EDA)

    原理圖里面兩顆重要的,那就是元件和網絡,作為EDA工具的重要視圖和概念,雖然看似枯燥,但它們扮演著非常重要的角色,它們?yōu)殡娐穲D的層次化結構提供了有力支撐。想象一個大型的電路設計
    的頭像 發(fā)表于 05-29 17:47 ?677次閱讀
    原理圖設計里兩顆重要的<b class='flag-5'>樹</b>(國產EDA)

    如何使用Yocto更新已更改的TF-A設備來產生新的鏡像文件?

    求助大佬, 我用Yocto構建了STM32MP157的鏡像文件,但我需要更改和移植TF-A和U-BOOT來適配我的板子, 我按照它正點原子教程里更改了.bl2和創(chuàng)建了新的.dtsi設備文件,但
    發(fā)表于 03-29 08:01

    在CubeMX上面配合STM32MP135D的DDR設備后,燒錄程序時產生了報錯怎么解決?

    在燒錄程序之前,我已經將生成的所有設備參數(shù)替換到原程序,請問有人能指導一下我是哪里處理出了問題嗎
    發(fā)表于 03-18 06:46

    消防設備電源監(jiān)控系統(tǒng)在地鐵工程的設計與應用

    消防設備電源監(jiān)控系統(tǒng)在地鐵工程的設計與應用 安科瑞電氣股份有限公司? 上海嘉定 【摘要】 : 本文介紹了地鐵工程消防
    的頭像 發(fā)表于 01-30 13:24 ?318次閱讀
    消防<b class='flag-5'>設備</b>電源監(jiān)控系統(tǒng)在地鐵<b class='flag-5'>工程</b>的設計與應用

    MCP251X can驅動移植nuc980采樣用設備配置時,中斷如何配置設備?

    MCP251X can驅動移植nuc980 采樣用設備配置時,中斷如何配置設備? spi0: spi@b0061000 { status = \"okay\"
    發(fā)表于 01-17 06:43

    NUC980設備DTB文件如何通過NUWrite燒錄到SPI-Flash,燒錄的地址是多少?

    NUC980設備DTB文件如何通過NUWrite燒錄到SPI-Flash,燒錄的地址是多少;內核編譯設備后卡死在“Calibratin
    發(fā)表于 01-17 06:29

    如何修改內核設備

    如何修改內核設備
    的頭像 發(fā)表于 12-14 14:06 ?776次閱讀
    如何修改內核<b class='flag-5'>設備</b><b class='flag-5'>樹</b>

    如何修改內核設備

    本文檔介紹了內核設備的位置和包含關系 1.內核設備位置 文件 備注 dts longan/device/config/chips/t50
    發(fā)表于 12-14 13:42

    時鐘是什么?介紹兩種時鐘樹結構

    今天來聊一聊時鐘。首先我先講一下我所理解的時鐘是什么,然后介紹兩種時鐘樹結構。
    的頭像 發(fā)表于 12-06 15:23 ?1629次閱讀

    使用自旋表啟動的平臺設備cpu節(jié)點介紹

    補充一下一個使用自旋表作為啟動方式的平臺設備cpu節(jié)點: arch /arm64/ boot /dts/ xxx.dtsi: cpu@ 0 { device_type = "cpu
    的頭像 發(fā)表于 12-05 16:19 ?801次閱讀

    數(shù)字IC設計的分段時鐘綜合

    為什么需要分段去做時鐘呢?因為在某些情況下,按照傳統(tǒng)的方法讓每一個clock group單獨去balance,如果不做額外干預,時鐘天然是做不平的。
    的頭像 發(fā)表于 12-04 14:42 ?1884次閱讀
    數(shù)字IC設計<b class='flag-5'>中</b>的分段時鐘<b class='flag-5'>樹</b>綜合