When boots, it runs the Boot2 Bootloader Firmware at 0x2300 0000 ... Which loads the Application Firmware into (yikes!) 0x2300 0000 ... Let's investigate how the Bootloader makes this self-overlay possible

github.com/lupyuen/bl_iot_sdk/

Show thread

Quick check of Boot2 Disassembly ... To be sure that it matches the Boot2 Bootloader that we have been flashing to BL602. Great exercise for learning Assembly! 👍

github.com/lupyuen/bl_iot_sdk/

Show thread
Follow

Linker Script for Bootloader says that some System Functions will be placed in ITCM (0x2201 0000) ... Like Global Register (GLB), Power (PDS), XIP Flash and eFuse 🤔

github.com/lupyuen/bl_iot_sdk/

Some parts of Bootloader are located in ITCM Cache Memory (instead of XIP Flash) ... Maybe that's why the Bootloader is able to overwrite itself in XIP Flash Memory 🤔

github.com/lupyuen/bl_iot_sdk/

Show thread

Learn what's inside the Bootloader ... And how it loads our Firmware into XIP Flash Memory ... My 20th article on BL602 yay! 🎉

lupyuen.github.io/articles/boo

Show thread
Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.