I want port free rtos use ARM Developer Suite 1.2,but the compiler have some limit: it can’t modify “SP” value when use inline assemble, so i can’t write “portRESTORE_CONTEXT” and “portSAVE_CONTEXT” in c code;it can’t support a function to be “nake” or “task”.
how can i do?
Though i can write assmbly function directly in C code, but can’t direct access “SP”,“LR” register, so i can’t use inline assembly MACRO in C code, because
some freertos code like “portRESTORE_CONTEXT”, “portSAVE_CONTEXT” “portENTER_SWITCHING_ISR” direct use “SP” “LR” register, how can i do?
If this is a hard limitation in the compiler then it is going to be difficult. Are there any modes of operation where it allows access? It seems very restrictive.
Have a look at the files in FreeRTOS\Source\portable\RVDS\ARM_CM3. These use RVDS but are not for the ARM7. But I’m sure you could copy how it was done.