Use external flash (AT45DB0) with MCUBOOT

I am using nRF Connect SDK v2.2.0 with nRF52810 on a custom board. 
We have included OTA updates in our project, and it works successfully and downloads the firmware via MQTT and writes it using developer.nordicsemi.com/.../dfu_target.html.
Because the internal flash nRF52810 is not enough for us, we want to use the external flash AT45DB0 to store the firmware image.
As an example I used tests\modules\mcuboot\external_flash.
As a result of the build, I get an error:
 
I made a child_image\boards .overlay file:

I made a child mcuboot.config file:

Added pm_static.yml file static partition to the root of the project:

I spent a lot of time to understand why it doesn't work. I hope you can help me. 
I can provide you with the source files of my project if you need them.
 
Parents
  • Hi, 

    Try to remove the pm_static.yml, and add CONFIG_PM_OVERRIDE_EXTERNAL_DRIVER_CHECK=y to child_image/mcuboot.conf.

    Regards,
    Amanda H.

  • I need "mcuboot_secondary" to be on external flash (AT45DB0).

  • Hi, 

    Please run the following command under build folder:

    And then post the memory layout. Let's see whether the "mcuboot_secondary" is on the external flash or not. 

    -Amanda H.

  • Hi, 

    You need to add the overlay with pm-ext-flash to both the application and MCUboot. See this post

    To use SPI external memory, it needs the following configs

    for child_image\mcuboot\boards\*board.config


    for application external_flash\boards\*board.conf

    -Amanda H.

  • Do I need to add pm_static.yml to the root of the project?
Reply Children