Второе, есть такая штука как PIC(Position-independent code) и многие компиляторы в том числе LLVM эту фишку поддерживают, было бы интересно увидеть сравнение вашей реализации и PIC механизма, понятно что размер прошивки в PIC будет больше но на насколько? Хотя бы для вашего практического случая...
Во первых, Cortex-M широкое понятие. Да ядро такого механизма не предоставляет, но такой механизм может присутствовать у отдельных MCU,может называться, например, "Memory remapping", https://www.st.com/resource/en/application_note/dm00230416-onthefly-firmware-update-for-dual-bank-stm32-microcontrollers-stmicroelectronics.pdf
Второе, есть такая штука как PIC(Position-independent code) и многие компиляторы в том числе LLVM эту фишку поддерживают, было бы интересно увидеть сравнение вашей реализации и PIC механизма, понятно что размер прошивки в PIC будет больше но на насколько? Хотя бы для вашего практического случая...