RISC-V技术论坛
直播中

jf_84146745

4年用户 174经验值
擅长:嵌入式技术,EMC/MEI设计,处理器/DSP
私信 关注
[问答]

【昉·星光 2 高性能RISC-V单板计算机体验】设备树如何加载

我们有时候需要自己编译一个设备树,然后更新到设备中,我本次测试时候改变了I2C接口的IO,结果编译完成后更新过去没有反应。想问下到底应该更新到哪个目录下才能生效。**

image.png

首先就是修改linux源码下的设备树文件。

image.png

然后我make编译了下。

image.png

看到其work下的文件确实更新了。

我将他复制到了开发板SD卡中的/usr/lib/linux-image-5.15.0-starfive/starfive下,发现没有更新成功,I2C读数还是从之前的两个IO进行获取数据。

image.png

然后我又把文件复制到/boot/dtbs/starfive中,还是原来的IO。

image.png

看到boot下有一个uEnv.txt看了里面内容,写的也是同样的dtb文件,但是就是IO没变化,所以想问下大家应该放到哪个位置才能更新呢。

已退回10积分

回帖(1)

陈燕

2023-10-13 10:34:37
根据你的描述,我猜测你的板子使用的是U-Boot bootloader,因此你需要将修改过的设备树文件放到/boot/dtbs/路径下,并在U-Boot启动时使用新的设备树文件。具体操作如下:

1. 将修改过的设备树文件复制到/boot/dtbs/路径下:

```
sudo cp /boot/dtbs/
```

2. 编辑/boot/uEnv.txt文件,指定使用新的设备树文件。

在uEnv.txt文件中,找到`fdtfile`选项,将其值改为新的设备树文件名,例如:

```
fdtfile=starfive-modified.dtb
```

3. 保存uEnv.txt文件,重启开发板即可生效。

注意:如果你的开发板使用的是其他的bootloader,例如GRUB或者Systemd-boot,则需要根据不同的bootloader进行相应的配置。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分