Skip to content

#2082 breaks user firmware update #2219

@scaprile

Description

@scaprile

We have a firmware update in which we copy a new image onto an older image (erase, write), then reset. We've been running this with SDK 2.0.0 in evb-pico2-alike boards.
With #2082 in SDK 2.1.0, flash_range_erase() adds this:

#if PICO_RP2350
flash_rp2350_restore_qmi_cs1(&qmi_save);
#endif

Here, flash_rp2350_restore_qmi_cs1() calls flash_devinfo_get_cs_size(), which calls flash_devinfo_ptr(), function that is not declared as __no_inline_not_in_flash_func and hence is in flash.
Should this function somehow not have been erased, yet, it will call rom_data_lookup(), also resident in flash.

Is this change actually necessary when one is going to erase everything ?
Is there a workaround that I can easily apply ? (instead of patching flash_range_erase() or writing our own version of it, of course)

Regards

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions