Add section attributes to combined firmware blobs and metadata #97
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change will not do much for regular builds, but it allows to put the firmware blob in a specific flash area.
In cases where multiple firmware versions run on the same device, this allows re-use of the firmware blob. On such case is picowota, the Raspberry Pi Pico W OTA flash bootloader. Until now, picowota users effectively have the firmware on their devices twice.
Another use case is that in a firmware update, the CYW firmware can be left untouched.
The pointer to the blob is put in a struct that also contains some metadata, which is put in a separate section to allow linker script writers to prepend the binary blob with something like a header.
To store the cyw firmware at a particular location in flash, these changes can be made to the linker script:
and
(edit: renamed flash memory and section to
FLASH_FW_CYW
and.fw_cyw43
)