Still navigating into the deep waters here, so I thought I’d put a couple of questions I’m working on into the forum in case an ‘old timer’
wants to chime in.
So I’m developing a BSP for the nrf5340. Its an ARMv8M architecture chip (Cortex M33) which is a beefed up Cortex M4F. The existing ./score/cpu/arm/ code is ARMv7M. I could use that because the M33 is backwards compatible with the ARMv7M stuff but since I will be needing the security stuff my code needs the ARMv8M features. Gcc has compiler (and multilib) support so no issues there. This situation presents me with the question, should I make ./score/cpu/cm33, ./score/cpu/armv8, or add more spice to the arm files to make them work on v8 as well? Those files are already pretty busy with various things and my current choice is to start fresh because I can write code with fewer #ifdefs and its easier to debug. I notice that aarch64 was added rather than shoehorn that into arm so that seems to endorse my current plan.
That raises another question though, when you ‘build RTEMS tools’ you build something like 7/rtems-arm but would I build 7/rtems-cm33 ? I guess this question boils down what the recipe for tools are such that as long as I get the current gcc and binutils for arm I’m going to be able to compile for my CPU.
Any insights into how these are related? If at all? After getting the cpu files sorted I’ll get the nrf5340 bsp files put together. That might answer some questions? Hard to say.
–Chuck