使用Xilinx SDK生成設備樹


章節描述:

介紹如何通過SDK生成設備樹,以用於arm-Linux環境。

背景

開發環境:

  • Windows:Vivado 2018.3
  • Linux :ubuntu 16.04

介紹:

Device Tree是一種描述硬件的數據結構,由一系列被命名的結點(node)和屬性(property)組成,而結點本身可包含子結點。所謂屬性,其實就是成對出現的name和value。在Device Tree中,可描述的信息包括(原先這些信息大多被hard code到kernel中):CPU的數量和類別,內存基地址和大小,總線和橋,外設連接,中斷控制器和中斷使用情況,GPIO控制器和GPIO使用情況,Clock控制器和Clock使用情況。

通常由.dts文件以文本方式對系統設備樹進行描述,經過Device TreeCompiler(dtc)將dts文件轉換成二進制文件binary device tree blob(dtb),.dtb文件可由Linux內核解析,有了device tree就可以在不改動Linux內核的情況下,對不同的平台實現無差異的支持,只需更換相應的dts文件即可。

步驟

下載設備樹工具

在Xilinx GitHub上下載Device Tree Generator(設備樹生成器)的BSP,地址為device-tree-xlnx

## 下載設備樹工具
git clone  https://github.com/Xilinx/device-tree-xlnx.git

## 切換版本
cd device-tree-xlnx
git checkout xilinx-v2018.3

配置SDK

1、打開SDK。

2、選擇:Xilinx -> Repositories

3、在Local Repositories 中點擊New,將在github中下載的文件夾路徑添加進去。

4、點擊OK,等待編譯完成,大概需要2分鍾。

使用Device Tree Generator生成設備樹

還是在SDK中。

1、新建BSP:File->New->Board Support Package

2、在Board Support Package OS中選擇device_tree,點擊Finish

3、在BSP彈出的設置中,按照自己板子的設定將內核啟動參數填寫,填寫完后點擊OK

4、在SDK目錄下會看到生成的設備樹文件夾。

Makefile  pl.dtsi        system-top.dts  system.mss
pcw.dtsi  skeleton.dtsi  system.dts      zynq-7000.dtsi

修改設備樹

Linux系統下。

將設備樹文件下的system.dts文件復制到Linux下,與petalinux下的system-top.dts文件進行對比修改,完善自己的設備樹功能。修改之后開始就可以繼續進行內核移植了。

編譯設備樹

Linux系統下。

使用dtc生成設備樹文件即完成。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM