章节描述:

介绍如何通过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

使用Xilinx SDK生成设备树的更多相关文章

  1. linux设备树的建立过程

    为了阐明表示总线.设备和设备驱动程序的各个数据结构之间彼此的关联,它们的注册过程是很有必要的.顺序一定是如下:(1)注册总线---bus_register:(2)注册设备device_register ...

  2. Linux dts 设备树详解(一) 基础知识

    Linux dts 设备树详解(一) 基础知识 Linux dts 设备树详解(二) 动手编写设备树dts 文章目录 1 前言 2 概念 2.1 什么是设备树 dts(device tree)? 2. ...

  3. Xilinx SDK使用教程

    本文参考 Xilinx SDK软件内置的教程,打开方法:打开SDK->Help->Cheet Sheets...->Xilinx SDK Tutorials,这里有6篇文档.本文详细 ...

  4. Linux设备树语法详解

    概念 Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离.在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写.引入了设备树之后,驱动代 ...

  5. Linux设备树语法详解【转】

    转自:http://www.cnblogs.com/xiaojiang1025/p/6131381.html 概念 Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离.在设备 ...

  6. 设备树(device tree)学习笔记

    作者信息 作者:彭东林 邮箱:pengdonglin137@163.com 1.反编译设备树 在设备树学习的时候,如果可以看到最终生成的设备树的内容,对于我们学习设备树以及分析问题有很大帮助.这里我们 ...

  7. 设备树..ing

    .dts==>.dtb ==>device_node ==>  platform_device ==> led_dev.c  ==>匹配 led_drv.c    (设备 ...

  8. ubuntu上设备树的编译

    由DTS文件生成DTB 文件,DTB是U-BOOT用来传递给LINUX内核的参数的一种文件形式. DTB:device tree blob 1,在内核中寻找:arch/arm/boot/dts/dig ...

  9. 基于设备树的TQ2440触摸屏驱动移植

    平台 开发板:tq2440 内核:Linux-4.9 u-boot:u-boot-2015.04   概述 之前移植了LCD驱动,下面继续移植触摸屏驱动,然后将tslib也移植上去. 正文 一.移植触 ...

  10. Linux设备树使用(二)

    一.设备树与驱动的匹配1.设备树会被/scripts中的dtc可执行程序编译成二进制.dtb文件,之前设备树中的节点信息会以单链表的形式存储在这个.dtb文件中:驱动与设备树中compatible属性 ...

随机推荐

  1. Codeforces Round 917 (Div. 2)

    A. Least Product 存在 \(a[i] = 0\),\(min = 0\),不需要任何操作. 负数个数为偶数(包括0),\(min = 0\),把任意一个改为 \(0\). 负数个数为奇 ...

  2. python执行SQL语句中有格式化时是否需要加引号

    import pymysqldb = pymysql.connect(host='localhost', user='root', password='123456', database='test' ...

  3. python使用pysql操作MySQL数据库

    前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持3.x版本. 本文测试python版本:2.7.11. ...

  4. R6_ES在互联网公司应用案例汇总参考

    Elasticsearch 是一个实时分布式搜索数据分析引擎,内部使用lucene做索引与搜索,能够解决常规和各种类型数据的存储及检索需求,典型的应用场景有:数据分析,站内搜索,ELK,电商等,主要特 ...

  5. Surge DHCP设置

    关于DNS配置 对于中国用户,推荐的 DNS 配置如下: 如果经常使用的网络没有 DNS 劫持问题:配置为使用系统 DNS 配置并追加 223.5.5.5 和 114.114.114.114 作为冗余 ...

  6. Ubuntu实现与主机Windows复制粘贴(安装VMware Tools)

    若不能实现主机与客户机间粘贴复制执行以下命令 sudo apt-get autoremove open-vm-tools sudo apt-get install open-vm-tools sudo ...

  7. C++ Virtual Functions

    Virtual这个关键字在多态中扮演一个绝对重要的角色,只要member functions声明的前面加上virtual的关键字,他就会成为 Virtual member functions.任何一个 ...

  8. git cherry-pick合并其它分支的某次提交(commits)到当前分支

    git cherry-pick 可以选择某一个分支中的一个或几个commit(s)来进行操作. 例如,假设我们有个稳定版本的分支,叫v2.0.0,另外还有个开发版本的分支v3.0.0,我们不能直接把两 ...

  9. 【asp.net】滑块验证码(分享一个从github上下载的源码)

    思路: 1. 准备好10张或20张不同规格的图片,按规格分类到不同文件夹,每个文件夹的图片从1开始顺序递增命名,为了随机选择图片.   2.前端提交规格比如200*300,根据规格选择原图,并初始化 ...

  10. Android 12(S) MultiMedia Learning(五)NuPlayer

    之前几节看到MediaPlayer的java接口最终会调用到native层中的NuPlayer,NuPlayer由Render,DecoderBase,Source三部分组成. Render:负责AV ...