DE1-SoC笔记(五)——Device Tree的生成(quartus 14.0以后版本的生成方式要进行修改)


DE1-SoC——Device Tree的生成

Device Tree可以描述系统上挂载了多少种类的硬件。通过它能将系统上的硬件系统传递给Linux。

1、所需文件

首先C:\Alter_TRAN\13.1_project\de1_soc_GHRD工程文件夹下有如下三个文件:
这三个文件是我们通过使用Qsys产生的。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

2、关于dts

Device Tree的源文档 .dts,通过SOC EDS工具里的Device Tree Generate来生成,同时还需要借助上面的XML文档。dts文件可以描述有关HPS外设以及FPGA IP以及用户自定义IP等信息。

在这里插入图片描述
.dtb文件是.dts文件被 Device Tree Compiler编译后生成的二进制格式的 Device Tree
描述,可被 Linux 内核解析。

3、如何产生 .dts 和 .dtb

首先打开SoC EDS
在这里插入图片描述
两种方式来生成:

方法一

  • 先进入到工程文件夹
 `$ cd "C:\Alter_TRAN\13.1_project\de1_soc_GHRD"`
  • 输入如下命令
 sopc2dts --inout soc_system.sopcinfo --output soc_system.dts --board soc_system_board_info.xml --board hps_clock_info
.xml --bridge-removal all
  • 等待完成后,工程文件下出现 .dts文件在这里插入图片描述
  • 接着输入如下命令,产生.dtb文件
 dtc -I dts -o dtb -o soc_system.dtb soc_system.dts

在这里插入图片描述

方法二

由于工程文件夹下有 Makefile,因此可以直接采用 make 命令产生俩文件。

在这里插入图片描述

make dts
make dtb

在这里插入图片描述

14.0以上版本的quartus如何正确生成dts 和 dtb

注意:13.1版本的 dts生成需要如下文件:

soc_system.sopcinfo
hps_clock_info.xml
soc_system_board_info.xml
Makefile

但是对于14.0以后的版本,我们如果直接使用这四个文件,并用原来的Makefile文件,采用make dts 和make dtb命令 来生成dts和dtb,都会报错,dts能够生成,但是有错误,dtb直接无法生成。
原因就在于,在Quartus II14.0以后的版本中中,第二个使用的不再是hps_clock_info.xml文件,而是hps_common_board_info.xml
这个文件我们可以在SOCEDS软件安装目录的examples\hardware\cv_soc_devkit_ghrd下找到


具体操作如下:
首先打开quartus 的安装目录(根据自己的来打开)

在这里插入图片描述
将该目录下的两个xml 以及 makefile复制,并将其粘贴到之前de1_soc_ghrd的spl_bsp目录下。

在这里插入图片描述
如下所示,将原本的xml 和makefile 进行了替换。此时就可采用make dts 和make dtb来生成dts 和 dtb
在这里插入图片描述
如果不采用快捷make dts 和 make dtb来生成,仍然使用上面方法一的方式,也需要进行如下修改:
make dts的生成:

sopc2dts --input soc_system.sopcinfo --output soc_system.dts --board soc_system_board_info.xml --board hps_clock_info.xml --bridge-removal all

make dtb 的生成还是一样的:

 dtc -I dts -o dtb -o soc_system.dtb soc_system.dts
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fighting_FPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值