Mcuboot reboots back to old image

Hi,

I work on a project that required a sector in flash to store some information hence I changed the partition in the pm_static.yml file and the dts file (although I guess this has no effect when using MCUboot).

The problems I have encountered is the following:

  • Flashing a firmware (A) that uses the new partition, it is not possible to downgrade to a firmware (B) using the old partition. The downgrade is succesful but the system reboots after a few seconds and reverts the image back to (A). 
  • Flashing a firmware (B) that uses the old partition, it is possible to upgrade and stay on a firmware (A) that uses the new partition. Doing another upgrade to a firmware (C) that uses the same "new" partition reverts the image back to firmware (A).

I'm calling boot_write_img_confirmed at startup and has not seen any firmware reverts before changing the partition.

    

Parents
  • settings_storage:
      address: 0xf9000
      size: 0x3000
      end_address: 0xfc000
      placement:
        before:
        - uptime_storage
      region: flash_primary
    uptime_storage:
      address: 0xfc000
      size: 0x1000
      end_address: 0xfd000
      placement:
        before:
        - user_storage
      region: flash_primary
    user_storage:
      address: 0xfd000
      size: 0x3000
      end_address: 0x100000
      placement:
        before:
        - end
      region: flash_primary

    New static file

Reply
  • settings_storage:
      address: 0xf9000
      size: 0x3000
      end_address: 0xfc000
      placement:
        before:
        - uptime_storage
      region: flash_primary
    uptime_storage:
      address: 0xfc000
      size: 0x1000
      end_address: 0xfd000
      placement:
        before:
        - user_storage
      region: flash_primary
    user_storage:
      address: 0xfd000
      size: 0x3000
      end_address: 0x100000
      placement:
        before:
        - end
      region: flash_primary

    New static file

Children
No Data
Related