ARM (Thumb Mode) _CPU_Context_switch_arm

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Feb 22 08:17:06 UTC 2013


On 02/21/2013 06:02 PM, Matthew J Fletcher wrote:
> Hi,
>
> As you may have guessed from the title my BSP is now running right up to
> context switching into the first task, i can see from the heir structures that
> its got the correct function pointer into my Init task.
>
> Looking at the #ifdef __thumb__ where it restores the context it fails at the
> bx instruction, the lr register is not a valid address. Before RTEMS we used a
> home grown executive and the asm to swap contexts looks very different.
>
> Does anyone run an arm BSP in thumb mode ?

Which RTEMS version do you use and which BSP?  Which compiler options do you 
use?  We use Thumb mode on the lpc24xx and lpc32xx BSPs all the time.

What do you mean with "the lr register is not a valid address"?  For the first 
context switch in Thumb mode it should be the address of _Thread_Handler + 1.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the users mailing list