Nordic 5340 SOC 双核间GPIO共用冲突
1:如果使用支持网络核心的项目(nordic,nrf-gpio-forwarder)为'nrf5340dk_nrf5340_cpuapp'板进行构建,则默认将 P0.10 分配给网络核心,如果此时再应用核中操作p0.10会有异常

2:可以通过创建一个overlay文件来覆盖gpio_fwd 节点中 uart 组要转发的引脚。例如,此覆盖层将移除HWFC引脚:
/* Remove flow control pins*/
&gpio_fwd {
uart {
gpios = <&gpio1 1 0>, <&gpio1 0 0>;
};
};
netcore build (hci_rpmsg)也应该更新,如下:
/* remove flow control pins */
&pinctrl {
uart0_default: uart0_default {
group1 {
psels = <NRF_PSEL(UART_TX, 1, 1)>;
};
group2 {
psels = <NRF_PSEL(UART_RX, 1, 0)>;
bias-pull-up;
};
};
uart0_sleep: uart0_sleep {
group1 {
psels = <NRF_PSEL(UART_TX, 1, 1)>,
<NRF_PSEL(UART_RX, 1, 0)>;
low-power-enable;
};
};
};
3:将上面的overlay文件覆盖到hci_rpmsg child image,可以在项目源目录下创建一个名为'child_image'的文件夹,并将您的覆盖文件放入其中:
├── child_image
│ └── hci_rpmsg.overlay
3.1:在 nRF Connect SDK 中,有多种方式配置多镜像构建中的子镜像。以下是主要方法:
- 在项目根目录下创建一个 child_image 目录
- 添加以子镜像命名的配置文件,例如:
child_image/mcuboot.conf - For a simple configuration overlay
child_image/mcuboot/prj.conf - For a more structured approach
child_image/mcuboot/boards/<board_name>.conf - For board-specific configurations
child image机制正在逐渐被 Sysbuild 所取代,Sysbuild 是在 nRF Connect SDK v2.4.0 中引入的。当使用 Sysbuild 时,配置方法不同:
-
在 Sysbuild 中,配置文件放置在 sysbuild/<image_name>/ 而不是 child_image/<image_name>/
-
要从child_image迁移到 Sysbuild,请将 sysbuild/<image_name>/ 的内容复制到 child_image/<image_name>/
3.2:还可以使用 CMake 参数配置child images
-D<child_image>_CONFIG_OPTION=value - For individual Kconfig options
-D<child_image>_EXTRA_CONF_FILE=path/to/file - To overlay configuration files
-D<child_image>_CONF_FILE=path/to/file - To completely replace the configuration file
-D<child_image>_DTC_OVERLAY_FILE=path/to/file - For devicetree overlays
For example: -Dmcuboot_CONFIG_LOG_DEFAULT_LEVEL=3
3.3:设备树覆盖Child Images,对于devicetree overlays可以创建
child_image/mcuboot.overlay
例如,要在 MCUboot 中禁用Flash设备:
/delete-node/ &xt25fb32;
&spi1 {
status = "disabled";
};
浙公网安备 33010602011771号