I am unsure why the sentinel value is subtracted from the flash app load address in kernel.c. It doesn't seem to be re-added anywhere so does this mean that the flash image is loaded at a different address to the one specified or is this just to compensate for a fixed offset encoded into the relocations? Might be worth a comment explaining what is happening:
|
uint32_t entry = program_flash_with_elf(elf_data, flash_addr - SENTINEL); |