Part Number: AM263P4
Bootloader
Our current bootstrap procedure on Cortex-M with external flash is as follows:
– The MCU loads from flash to RAM a minimal L1 boot responsible for initializing the flash driver (e.g., full-speed SPI depending on vendor, encryption, etc.).
– The L1 boot verifies the L2 boot stored in flash (e.g., using a digital signature).
– The L1 boot loads the L2 boot into RAM; the L2 boot manages the targeted OTA link (e.g., UART).
– If no upgrade is required, the L2 boot checks the application image stored in encrypted flash area A (e.g., using a digest and/or digital signature). If the application is valid, it is copied to RAM and/or executed in XIP.
– If an upgrade is required, the L2 boot writes the new application chunks into encrypted flash area B.
– At the end of the upgrade, the L2 boot checks the application image stored in encrypted flash area B (e.g., using a digest and/or digital signature). If the application is valid, it is copied to area A and executed.
Questions:
- Is this procedure—or an equivalent one—feasible on the AM263P?
- If so, could you kindly provide documentation and/or examples for:
– Configuring flash partitioning and encryption
– Managing the boot procedure for a multi-core application