在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Petalinux工程中設(shè)備樹的介紹

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

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

Petalinux 工程中設(shè)備樹的位置

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

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

。/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

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

。/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ā)板預(yù)設(shè)的名稱的話(UG1144DTG Settings 章節(jié)中的 Machine name 的說明),那么會(huì)自動(dòng)生成對(duì)應(yīng)開發(fā)板相關(guān)的設(shè)備樹信息。

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

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

如何修改設(shè)備樹

1. 基于自動(dòng)生成的設(shè)備樹,添加和修改節(jié)點(diǎn)。

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

/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”;

};

};

有時(shí)候?yàn)榱朔奖阍O(shè)備樹的管理,可以定義多個(gè)設(shè)備樹文件,然后在 system-user.dtsi 中將這些設(shè)備樹文件都包含進(jìn)去,如下所示。

/include/ “system-conf.dtsi”

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

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

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

/ {

};

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

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. 完全使用自己的設(shè)備樹

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

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

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

怎么描述設(shè)備樹

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

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 的主題頁(yè)面來獲取所有 Xilinx 支持的設(shè)備驅(qū)動(dòng)內(nèi)容,其中包含有各個(gè)設(shè)備樹的例子以及相關(guān)配置等說明。

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

反編譯設(shè)備樹

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

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

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

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

責(zé)任編輯:haq

聲明:本文內(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)投訴
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2171

    瀏覽量

    122142

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    科技在物聯(lián)網(wǎng)方面

    布局、人員位置等,在工業(yè)物聯(lián)網(wǎng)場(chǎng)景監(jiān)測(cè)生產(chǎn)設(shè)備的狀態(tài)、檢測(cè)產(chǎn)品質(zhì)量等。 通信技術(shù)應(yīng)用 遠(yuǎn)程控制與數(shù)據(jù)傳輸:宇科技的人形機(jī)器人H1等產(chǎn)品具備遠(yuǎn)程控制和數(shù)據(jù)傳輸功能,這依賴于先進(jìn)的通信技術(shù)。在物聯(lián)網(wǎng)
    發(fā)表于 02-04 06:48

    使用TFTP加載內(nèi)核設(shè)備

    在嵌入式項(xiàng)目開發(fā),為了適配新外設(shè)、調(diào)整硬件資源分配或修復(fù)驅(qū)動(dòng)問題,需要頻繁修改設(shè)備和內(nèi)核。修改完成后,通常需要重新編譯生成鏡像,并將其燒錄到開發(fā)板上進(jìn)行測(cè)試。然而,傳統(tǒng)的燒錄方式不僅需要連接物理接口,還可能因?yàn)殓R像體積較大而
    的頭像 發(fā)表于 01-17 15:52 ?756次閱讀
    使用TFTP加載內(nèi)核<b class='flag-5'>設(shè)備</b><b class='flag-5'>樹</b>

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-初識(shí)設(shè)備之Makefile修改

    不同而新增加了dts,則需要在這個(gè)Makefile的這個(gè)位置添加上對(duì)應(yīng)的.dtb文件名參與編譯。ELF 1使用的設(shè)備命名為imx6ull-elf1-emmc.dts,是基于NXP官方evk板子的設(shè)備
    發(fā)表于 01-13 09:09

    飛凌嵌入式ElfBoard ELF 1板卡-初識(shí)設(shè)備之Makefile修改

    不同而新增加了dts,則需要在這個(gè)Makefile的這個(gè)位置添加上對(duì)應(yīng)的.dtb文件名參與編譯。ELF 1使用的設(shè)備命名為imx6ull-elf1-emmc.dts,是基于NXP官方evk板子的設(shè)備
    發(fā)表于 01-10 09:23

    飛凌嵌入式ElfBoard ELF 1板卡-初識(shí)設(shè)備設(shè)備組織架構(gòu)

    下圖是一個(gè)設(shè)備文件的基本架構(gòu)示例:簡(jiǎn)單概括一下有這幾個(gè)部分:節(jié)點(diǎn)節(jié)點(diǎn)的命名方式一般為node-name@unit-address:其中node-name為節(jié)點(diǎn)名稱,unit-address為節(jié)點(diǎn)
    發(fā)表于 01-08 09:01

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-初識(shí)設(shè)備設(shè)備組成和結(jié)構(gòu)

    前邊講解了內(nèi)核編譯選項(xiàng)的配置,這一節(jié)我們?cè)敿?xì)講一下設(shè)備設(shè)備的知識(shí)是Linux驅(qū)動(dòng)開發(fā)人員必備的技能,我們現(xiàn)在使用的Linux內(nèi)核,絕大多數(shù)都是支持
    發(fā)表于 01-08 08:32

    飛凌嵌入式ElfBoard ELF 1板卡-初識(shí)設(shè)備設(shè)備組成和結(jié)構(gòu)

    前邊講解了內(nèi)核編譯選項(xiàng)的配置,這一節(jié)我們?cè)敿?xì)講一下設(shè)備設(shè)備的知識(shí)是Linux驅(qū)動(dòng)開發(fā)人員必備的技能,我們現(xiàn)在使用的Linux內(nèi)核,絕大多數(shù)都是支持
    發(fā)表于 01-07 09:16

    如何在Petalinux下Patch u-boot源碼

    在軟件開發(fā)過程我們經(jīng)常遇到用 Patch 來傳遞和更新代碼的場(chǎng)景。本文以一個(gè)端到端的例子來演示在 Petalinux 使用過程,如何給 u-boot 的源碼生成 Patch 并在 Peta
    的頭像 發(fā)表于 12-04 16:26 ?1164次閱讀
    如何在<b class='flag-5'>Petalinux</b>下Patch u-boot源碼

    請(qǐng)問PCM1864的驅(qū)動(dòng)在設(shè)備該如何描述?

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

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

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

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

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

    如何使用CubeMX生成的設(shè)備編譯鏡像?

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

    原理圖設(shè)計(jì)里兩顆重要的(國(guó)產(chǎn)EDA)

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

    如何使用Yocto更新已更改的TF-A設(shè)備來產(chǎn)生新的鏡像文件?

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

    在CubeMX上面配合STM32MP135D的DDR設(shè)備后,燒錄程序時(shí)產(chǎn)生了報(bào)錯(cuò)怎么解決?

    在燒錄程序之前,我已經(jīng)將生成的所有設(shè)備參數(shù)替換到原程序,請(qǐng)問有人能指導(dǎo)一下我是哪里處理出了問題嗎
    發(fā)表于 03-18 06:46
    主站蜘蛛池模板: 欧美黄色片在线播放 | 在线观看视频一区二区三区 | 特级毛片免费视频观看 | 欧美人与动性行为网站免费 | 最新理论三级中文在线观看 | 波多野结衣福利 | 色天使久久 | 天堂最新版在线www在线 | 天天干在线免费视频 | 精品国产高清在线看国产 | 国产精品久久久精品视频 | 国产成人悠悠影院 | 国产精品久久久久久久免费 | 亚洲一区二区三区中文字幕5566 | 国产一区二区三区美女在线观看 | 手机在线看a | 三级网站在线免费观看 | 亚洲国产成人精品不卡青青草原 | 中文字幕三级 | 全部免费a级毛片 | 噜噜噜噜噜久久久久久91 | 色多多在线免费观看 | 日本a级片免费 | 日韩精品在线第一页 | 亚洲色图在线观看视频 | 天天干天天做 | 欧美爱爱网 | 成人a毛片高清视频 | 国产hs免费高清在线观看 | 亚洲国产精品第一页 | 国产一级真人毛爱做毛片 | 日本日本69xxxx | 高清性色生活片欧美在线 | 爱搞逼综合 | 日韩黄网 | 午夜看片福利 | 国产精品久久久久久久人热 | 最新色网站| 成人欧美一区二区三区小说 | 看视频免费 | 午夜看一级特黄a大片 |