Skip to content

Refactor the architecture layer

Chris Kay requested to merge github/fork/CJKay/arch-refactor into master

The architecture layer has been refactored to better improve readability and maintainability, as well as to increase flexibility in order to support different base architectures.

The ARMv7-M architecture implementation has also been adjusted to use CMSIS instead of custom variations of the same functionality.

@manojkumar-arm, @omasab, @masahisak, @tusharkhandelwal2: this is a potentially breaking change for ARMv7-M platforms that do not use the bootloader module to manage the transition from a ROM firmware to a RAM firmware. If your platform meets this criteria, please ensure your platform is still able to boot after applying this patch.

If booting fails after applying this PR, make sure that your platform's bootloader logic sets the vector table offset register (SCB->VTOR) to the vector table of your RAM firmware binary before jumping to its entrypoint. Both the msys_rom and isys_rom modules already do this for platforms using these modules as they use the bootloader module to load the firmware.

Merge request reports