STR71x with GCC ?

nobody wrote on Thursday, January 26, 2006:

Hi,
I went one step forward and two steps back:
I used other startup files and changed them to SVC mode.
The system crashes when taskCreate calls taskYIELD(). This is defined as an ‘swi’ instruction. I found out I have to make vPortYieldProcessor the SWI-Handler. I tried: LDR pc, Undefined_Addr B _vPortYieldProcessor

I needed to add some assembler to vPortYieldProcessor:
asm volatile ( ".global _vPortYieldProcessor" );
asm volatile ( "_vPortYieldProcessor:" );

Otherwise the linker didn’t found it.
I don’t know why it works in the SAM7 demo.
So the function gets called but then it crashes.
As you can see, I use a ‘B’ command, where the other exeptions use a ‘LDR’. I found it this way in the SAM7 demo. Anyway, something goes wrong with the stack / return address?
Any help is appreciated.