使用Xilinx SDK生成设备树

使用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 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值