国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

Petalinux工程中設備樹的介紹

YCqV_FPGA_EETre ? 來源:XILINX嵌入式 ? 作者:Terry Ni ? 2021-02-20 16:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

Petalinux 工程中設備樹的位置

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

第一個是在 components/plnx_workspace/device-tree/device-tree 路徑下,這個路徑下主要保存的都是基于你導入的hdf/xsa后,自動生成的設備樹信息。通常包括PS的設備樹,時鐘的設備樹,PL 部分 IP 的設備樹(Xilinx發布的包含驅動的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 節的內容。

。/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開發板預設的名稱的話(UG1144DTG Settings 章節中的 Machine name 的說明),那么會自動生成對應開發板相關的設備樹信息。

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

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

如何修改設備樹

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

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

/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 = “led-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中設備的驅動互相對應的。如果驅動中需要某個參數,但是設備樹中并沒有包含,很可能就會編譯錯誤或者直接使用了默認值,從而導致工作異常。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

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

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

責任編輯:haq

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

    關注

    73

    文章

    2200

    瀏覽量

    131122

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RK3576平臺PCA9548 I2C開關設備配置與生效全解析

    中廣泛應用。本文結合實際設備配置,從 配置解析 、 生效全流程 、 開發關鍵要點 三個維度,講透PCA9548在Linux系統的落地實現,嵌入式開發人員可直接對標實操。 一、先看懂:PCA9548
    的頭像 發表于 02-28 11:18 ?1478次閱讀
    RK3576平臺PCA9548 I2C開關<b class='flag-5'>設備</b><b class='flag-5'>樹</b>配置與生效全解析

    深入理解設備chosen節點:固件與內核的“配置橋梁”

    在嵌入式 Linux 開發設備(Device Tree)是連接硬件與內核的關鍵紐帶。但有一個節點很特殊 —— 它不描述任何硬件模塊,卻直接決定內核能否正常啟動,這就是chosen節點。
    的頭像 發表于 02-09 16:36 ?134次閱讀
    深入理解<b class='flag-5'>設備</b><b class='flag-5'>樹</b>chosen節點:固件與內核的“配置橋梁”

    Linux 6.8 內核 - 錯誤:找不到 cmdline 扁平化設備怎么解決?

    我正在嘗試一個新的 6.8 linux 內核,但我在啟動時收到這個錯誤: 從0x44000000到0x40200000的移動圖像,end=41724000 錯誤:未找到 cmdline 扁平化設備
    發表于 02-09 07:13

    無線傾角傳感器在古監測的應用:以科技守護活文物的結構安全

    無線傾角傳感器在古監測的應用:以科技守護活文物的結構安全
    的頭像 發表于 01-09 11:38 ?651次閱讀
    無線傾角傳感器在古<b class='flag-5'>樹</b>監測<b class='flag-5'>中</b>的應用:以科技守護活文物的結構安全

    如何在AMD Vitis Unified IDE中使用系統設備

    您將在這篇博客中了解系統設備 (SDT) 以及如何在 AMD Vitis Unified IDE 中使用 SDT 維護來自 XSA 的硬件元數據。本文還講述了如何對 SDT 進行操作,以便在 Vitis Unified IDE
    的頭像 發表于 11-18 11:13 ?3112次閱讀
    如何在AMD Vitis Unified IDE中使用系統<b class='flag-5'>設備</b><b class='flag-5'>樹</b>

    想在rtsmart中使用uart2,是不是只能通過修改設備方法來實現uart2的復用呀?

    我想在rtsmart中使用uart2,是不是只能通過修改設備方法來實現uart2的復用呀? 修改設備后如何只編譯設備
    發表于 06-24 07:04

    電源工程師的核心技能體系

    電源工程師的核心技能體系需覆蓋從基礎理論到專業實踐、工具應用及行業適配的全鏈條能力。以下是系統化的技能框架,按知識層級和應用場景展開,幫助從業者明確能力提升路徑: 一、基礎理論層:核心知識根基
    的頭像 發表于 06-05 09:44 ?2581次閱讀

    在任何平臺上使用PetaLinux的先決條件

    本篇文章介紹了在任何平臺上使用 PetaLinux 的先決條件。PetaLinux 是一種嵌入式 Linux 軟件開發套件 (SDK),主要用于基于 FPGA 的系統級芯片 (SoC) 設計或 FPGA 設計。
    的頭像 發表于 04-24 10:40 ?1549次閱讀
    在任何平臺上使用<b class='flag-5'>PetaLinux</b>的先決條件

    基于RV1126開發板修改CAN內核設備

    編輯設備文件,執行以下指令可以修改nano的板級頭文件,如下圖所示。(比如基于MCP2515把復用為SPI1的硬件資源轉成CAN對源代碼進行修改)
    的頭像 發表于 04-17 10:10 ?779次閱讀
    基于RV1126開發板修改CAN內核<b class='flag-5'>設備</b><b class='flag-5'>樹</b>

    基于RV1126開發板修改GPIO內核設備

    編輯設備文件,執行以下指令可以修改nano的板級頭文件,如圖所示。(比如把復用為SPI1的硬件資源改成通用的GPIO對源代碼進行修改)
    的頭像 發表于 04-17 10:00 ?799次閱讀
    基于RV1126開發板修改GPIO內核<b class='flag-5'>設備</b><b class='flag-5'>樹</b>

    請問有沒有辦法修改live系統上的設備

    i.MX8M 納米 yocto Linux 我想在不經過構建過程的情況下測試 Device Tree 更改。有沒有辦法修改 live 系統上的設備設置? This https
    發表于 04-09 08:23

    如何獲取yocto build來構建對設備的更改?

    來自 NXP 的 Yocto 構建設置 我想為 imx8m nano 構建一個修改后的器件。我了解設備源文件(.dts、dtsi)的語法,但我不知道如何讓 yocto 版本更新 DTB
    發表于 04-09 07:37

    求助,關于P2041設備的RGMII配置疑問求解

    ) 這些 DTSEC 在 u-boot 工作正常。 當我在 Linux 修改 Device Tree 時,我可以啟用使用兩個 SGMII 端口。 但是、RGMII 端口不適用于我在設備
    發表于 04-02 06:18

    從零開始馴服Linux(一):ZYNQ-Linux啟動文件構建全解析

    設備,我們不用Petalinux編譯的設備,只是解決錯誤。命令執行成功之后,會在當前Petalinu
    發表于 03-20 16:48

    請問stm32mp257如何修改設備并加載驅動?

    1、重新編譯kernel容易報錯,重新編譯設備也會報錯。 2、加載驅動,編譯環境應該對應,加載不成功。 3、想知道整體比方說,修改下IO,修改下設備,加入一個應用程序。整體跑下
    發表于 03-07 08:05