Topic : Why 'crt0.s' and not 'vector.s' and 'startup.s'?

Forum : ARM

Original Post
Post Information Post
October 20, 2010 - 3:49am
Guest

Hi,

I am trying to get FreeRTOS working on STR912 with Ride7. So far no success. I have manged to find an Eclipse implementation, but would prefer to stay with Ride7. I am trying to utilise the Eclipse implementation in Ride7.

As an overall question, why does Ride7 use a 'crt0.s' file, and not the 'vector.s' and 'startup.s' files?

Also, why is the implementation different? As an example in 'crt0.s':
.macro Savecontext $r0,$r12
STMFD sp!,{r0-r12,lr}
MRS r1,spsr
STMFD sp!,{r1}
.endm

while in 'vector.s':
.macro SaveContext reg1 reg2
stmfd sp!,{\reg1-\reg2,lr}
mrs r1, spsr
stmfd sp!, {r1}
.endm

[notice the '$' with 'r0' and 'r12', and '\' with 'reg1' and 'reg2']

regards,
Mykola

PS I anyone would like to share a Ride7 implementation of FreeRTOS on STR91x, it will be most appreciated.