ARRIA10 学习之(2)

制作images的时候出现的错误

这个工程是基于DE10_standart开发板的DE10_Standard_GHRD工程添加的AXI总线。在用hps_common_board_info.xml和文件soc_system_board_info.xml生成文件socfpga.dtb遇到的一些问题。在这里记录一下,问题有待解决。
在要生成设备树的时候出现了如下的信息提示,设备生成按照官网的Generating the Device Tree步骤走的。

//运行如下指令
sopc2dts --input soc_system.sopcinfo\
  --output socfpga.dtb\
  --type dtb\
  --board soc_system_board_info.xml\
  --board hps_common_board_info.xml\
  --bridge-removal all\
  --clocks

axi_monitor和axi_trafficgen是自己从其他地方找来添加的IP,结果出现如下信息提示
这里写图片描述

然而我打开soc_system.dts的时候发现unkown这个词,而且socpfga.dtb也可以生成。所以我在想是不是因为因为在自己做ip的的时候没有信息描述,所以出现unkown可能对系统没有什么影响。
这里写图片描述

xml的学习

官网友两个学习链接;
链接1:DeviceTreeGenerator 14.1
链接2:Sopc2dts

设备树语法

可以看.dts中文件或是网面的链接1,链接1中的有这样的一段代码,结构如下。
这里写图片描述
顾名思义,设备树以分层方式组织。它由一个根节点组成,它有子节点。每个子节点又可以具有其他子节点。每个节点可以具有许多属性。
上述层次结构与实际硬件非常匹配,CPU,存储器,外围设备连接在总线上,LCD和EEPROM芯片连接在I2C总线上。只有’sopc0’节点是虚拟节点,它没有物理对应节点。
这里写图片描述

(Board Information Syntax)开发板语法信息`

电路板信息使用XML文件格式,它由一些基本标签组成,允许设备树生成器生成其他DTS内容。
本节介绍从GHRD文件中提取的可用标记和一些示例。有关GHRD文件的列表,请参阅GHRD文件部分。
pov Tag(pov标签)
alias Tag(alias标签)
Chosen Tag(chosen标签)
DTAppend Tag(DTAppend标签)
该DTAppend标签用于添加属性和节点
I2CBus and I2CChip Tags(I2C总线和芯片标签)
IRQMasterIgnore Tag(中断标签)
有时中断发送器连接到多个中断接收器(例如中断控制器和中断调试组件),但设备树需要识别正确的中断父/控制器。为了帮助设备树生成器识别正确的中断连接,可以在板信息文件中使用一个或多个IRQMasterIgnore标签。

DTAppend

鉴于Linux内核的更改速度及其对设备树的使用,很难预测需要将哪些字段添加到特定设备树节点以使其相应的驱动程序工作。新的电路板信息标签DTAppend旨在提供帮助。DTAppend标记的简单用法示例如下所示:

<DTAppend name =“status”type =“string”parentlabel =“hps_0_nand0”val =“disabled”/>

//上面的标记会将名为status的字段添加到标签为hps_0_nand0的节点,
//字符串值为“disabled”。有效类型是bool,number,string,hex,byte,phandle和node。
//当类型是节点时,DTAppend标记的格式略有不同。
<DTAppend name =“fpga3”type =“node”parentlabel =“soc_leds”newlabel =“led_fpga3”/>

//在上面的示例中,将在标记为soc_leds的节点下创建名为fpga3的新节点,其标签为led_fpga3。
//设备树中的字段也可以具有多个不同类型的值。DTAppend标记使用以下格式来创建此类字段:
<DTAppend name =“gpios”parentlabel =“led_hps1”>
<val type =“phandle”> hps_0_gpio1 </ val>
<val type =“number”> 14 </ val>
<val type =“number”> 1 </ val>
</ DTAppend>

猜你喜欢

转载自blog.csdn.net/lovexlsforever/article/details/82718162
今日推荐