通过 .overlay 文件修改 nRF52810 设备树配置

通过 .overlay 文件修改 nRF52810 设备树配置

我用的板子硬件有问题,需要修改 UART 的 TX 端口才能正常打印。

修改端口的直接办法就是修改板子的设备树文件,但不宜直接修改 SDK 目录下的 nrf52810.dtsi 文件,这会导致所有使用这个 Board 模型创建的项目都受影响,比较合适的做法是使用 .overlay 文件。

添加overlay文件

.overlay 同样也是dts文件,是用来扩展或者修改板级设备树配置的,并且仅仅作用于本应用工程。这样方便用户不修改内核原始代码的情况下,单独为某个应用的设备树进行扩展或者修改。

在 NCS (nRF Connect SDK) 项目中添加 .overlay 文件的过程有两步。

1、首先在项目目录下创建一个 .overlay 文件,如 app.overlay 文件。

2、在项目的 Build Configuration 中添加刚才创建的 .overlay 文件。

重写节点属性

比如我要修改 UART 的 TX 引脚,与其相关的配置在 D:\ncs\v2.5.1\zephyr\boards\arm\nrf52dk_nrf52810\nrf52dk_nrf52810-pinctrl.dtsi 文件中:

要修改 TX 端口,可以在之前创建的 .overlay 文件中添加以下内容:

参考文档

  1. Zephyr-设备树原理和使用_设备树reg属性-CSDN博客
  2. nRF Connect SDK 配置board.overlay文件_nrf 9160 overlay-CSDN博客
  3. 详解Zephyr设备树(DeviceTree)与驱动模型 - jayant97 - 博客园 (cnblogs.com)
posted @ 2025-02-11 19:02  路合华  阅读(162)  评论(0)    收藏  举报