-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Description
Description:
When trying to build an MCUboot-based application for the Raspberry Pi Pico2 board (RP2350), the compilation fails with the following error:
FLASH_MAP (defined at subsys/storage/flash_map/Kconfig:10) has direct dependencies FLASH_HAS_DRIVER_ENABLED with value n, but is currently being y-selected by the following symbols: MCUBOOT_DEVICE_SETTINGS
Investigation details:
The flash controller (qmi) is disabled in the rp2350.dtsi file:
qmi: flash-controller@400d0000 {
status = "disabled";
};
If I try to enable it in an overlay:
/ {
chosen {
zephyr,flash-controller = &qmi;
};
};
&qmi {
status = "okay";
};
then new build errors appear from flash_rpi_pico.h:
#include <hardware/structs/ssi.h>: No such file or directory
It seems that flash_rpi_pico.h is designed only for the RP2040 (original Pico/Pico W) flash controller and does not support the RP2350 (Pico2) flash controller.
Pico2 has different hardware, and ssi.h does not exist for it.
Summary:
- MCUboot cannot currently be compiled for Pico2 (RP2350).
- The flash controller (qmi) support is missing or incomplete for RP2350.
- The existing flash driver (flash_rpi_pico.h) assumes RP2040 hardware and needs to be updated for RP2350.