zoukankan      html  css  js  c++  java
  • 使用Xilinx SDK生成设备树

    使用Xilinx SDK生成设备树

    --- title: xilinx-sdk-90-使用Xilinx SDK生成设备树 EntryName: xilinx-sdk-90-make-dtb-with-sdk-using date: 2020-07-22 07:49:48 categories: tags: ---

    章节描述:

    介绍如何通过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 
    
  • 相关阅读:
    Python文件File方法
    python的slice notation的特殊用法
    函数
    字典
    python 笔记7
    列表解析与生成器
    [CenOS7][Mac] MAC环境中dubbo连接zookeeper超时
    [JAVA][Thread] 实现Runnable接口和继承Thread类创建线程哪种方式更好?
    [Java] String字符常量类型作为参数传递的一些问题
    [JAVA]hashCode()和identityHashCode()的区别
  • 原文地址:https://www.cnblogs.com/schips/p/xilinx-sdk-90-make-dtb-with-sdk-using.html
Copyright © 2011-2022 走看看