diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-09-22 21:53:54 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-09-22 21:53:54 +0000 |
commit | 72798eef80d8b79bdd72f3ebd10fac109c0af088 (patch) | |
tree | f2052e14c9402851134b496df3aee7f8894cf413 /c/src/lib/libbsp/arm/rtl22xx/startup | |
parent | 2008-09-22 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-72798eef80d8b79bdd72f3ebd10fac109c0af088.tar.bz2 |
2008-09-22 Joel Sherrill <joel.sherrill@oarcorp.com>
* startup/bspreset.c: New file.
Diffstat (limited to 'c/src/lib/libbsp/arm/rtl22xx/startup')
-rw-r--r-- | c/src/lib/libbsp/arm/rtl22xx/startup/bspreset.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/arm/rtl22xx/startup/bspreset.c b/c/src/lib/libbsp/arm/rtl22xx/startup/bspreset.c new file mode 100644 index 0000000000..9af7807a37 --- /dev/null +++ b/c/src/lib/libbsp/arm/rtl22xx/startup/bspreset.c @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2007 by Ray Xu <rayx.cn@gmail.com> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#include <bsp.h> +#include <lpc22xx.h> + +void bsp_reset(void) +{ + rtems_interrupt_level level; + + rtems_interrupt_disable(level); + +#ifdef __thumb__ + int tmp; + asm volatile (" .code 16 \n" \ + "ldr %[tmp], =_start \n" \ + "bx %[tmp] \n" \ + "nop \n" \ + : [tmp]"=&r" (tmp) ); +#else + asm volatile ("b _start"); +#endif + + while(1); +} |