Hi Champs,
I intend to migrate from Cortex M4 to Cortex R5F. As I understand both the CPUs seem very similar in a lot of aspects MPU, instruction set and yet is very different from the other. I am using ARM-CLANG as a compiler so I am not worried about the instruction set.
I would like to know which are the major points where I would have to change my software like interrupt handling, startup (maybe ?), systick handling.. Can I get an overview with this information ?
Best Regards,Aakash
You might find this resource useful - Cortex-R Programmer's Guide.
The exception model on the R profile is very different to M profile. So expect to need to make changes to all the things you mentioned.
You mean, the major difference is between how the NVIC and VIC works ? How does SW handing has to change for the same ?
Migrating from Cortex-M4 to Cortex-R5F would require you to make some changes to your software. Here's an overview of some of the major points:
Interrupt Handling: Cortex-R5F has a different interrupt controller compared to Cortex-M4. You would need to update your code to handle interrupts in a different way.
Startup: Cortex-R5F has a different memory map compared to Cortex-M4. Therefore, you would need to update your startup code to correctly initialize the new memory map.
Systick Handling: Cortex-R5F has a different Systick timer compared to Cortex-M4. You would need to update your code to handle the new Systick timer.
Cache and Memory Protection: Cortex-R5F has an MPU (Memory Protection Unit) and cache memory which are not present in Cortex-M4. You would need to modify your code to take advantage of these features.
Floating-Point Unit: Cortex-R5F has a dedicated floating-point unit (FPU), while Cortex-M4 has a separate FPU or none at all. If your code uses floating-point operations, you would need to modify it to take advantage of the Cortex-R5F FPU.
These are some of the major differences that you would need to consider when migrating from Cortex-M4 to Cortex-R5F.