diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-09-22 21:49:27 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-09-22 21:49:27 +0000 |
commit | 06ec9001b84b07397331ac2ccbcc4d977231524f (patch) | |
tree | fa65ce43afe93e7f240467ea0bd56de1ede60960 /c/src/lib | |
parent | 2008-09-22 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-06ec9001b84b07397331ac2ccbcc4d977231524f.tar.bz2 |
2008-09-22 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, configure.ac, console/uart.c, startup/bspstart.c: Use
standardized bsp_cleanup() which can optionally print a message, poll
for user to press key, and call bsp_reset(). Using this eliminates
the various bsp_cleanup() implementations which had their own
implementation and variety of string constants.
* startup/bspclean.c: Removed.
Diffstat (limited to 'c/src/lib')
-rw-r--r-- | c/src/lib/libbsp/arm/rtl22xx/ChangeLog | 9 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/rtl22xx/Makefile.am | 3 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/rtl22xx/configure.ac | 9 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/rtl22xx/console/uart.c | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/rtl22xx/startup/bspclean.c | 45 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/rtl22xx/startup/bspstart.c | 17 |
6 files changed, 25 insertions, 63 deletions
diff --git a/c/src/lib/libbsp/arm/rtl22xx/ChangeLog b/c/src/lib/libbsp/arm/rtl22xx/ChangeLog index 72cee21ce2..a5409dd23c 100644 --- a/c/src/lib/libbsp/arm/rtl22xx/ChangeLog +++ b/c/src/lib/libbsp/arm/rtl22xx/ChangeLog @@ -1,3 +1,12 @@ +2008-09-22 Joel Sherrill <joel.sherrill@oarcorp.com> + + * Makefile.am, configure.ac, console/uart.c, startup/bspstart.c: Use + standardized bsp_cleanup() which can optionally print a message, poll + for user to press key, and call bsp_reset(). Using this eliminates + the various bsp_cleanup() implementations which had their own + implementation and variety of string constants. + * startup/bspclean.c: Removed. + 2008-09-21 Joel Sherrill <joel.sherrill@OARcorp.com> * include/bsp.h: Remove define of BSP_ZERO_WORKSPACE_AUTOMATICALLY. diff --git a/c/src/lib/libbsp/arm/rtl22xx/Makefile.am b/c/src/lib/libbsp/arm/rtl22xx/Makefile.am index d8c85eb4c7..d01eb4cb37 100644 --- a/c/src/lib/libbsp/arm/rtl22xx/Makefile.am +++ b/c/src/lib/libbsp/arm/rtl22xx/Makefile.am @@ -29,7 +29,8 @@ dist_project_lib_DATA += startup/linkcmds include_HEADERS += ../../arm/shared/comm/uart.h startup_SOURCES = ../../shared/bsplibc.c ../../shared/bsppost.c \ ../../shared/bsppredriverhook.c ../../shared/bsppretaskinghook.c \ - ../../shared/bspgetworkarea.c startup/bspstart.c startup/bspclean.c \ + ../../shared/bspgetworkarea.c startup/bspstart.c \ + ../../shared/bspclean.c startup/bspreset.c \ ../../shared/bootcard.c ../../shared/sbrk.c \ ../../shared/gnatinstallhandler.c console_SOURCES = ../../shared/console.c diff --git a/c/src/lib/libbsp/arm/rtl22xx/configure.ac b/c/src/lib/libbsp/arm/rtl22xx/configure.ac index 378868c6bc..4eb9917c17 100644 --- a/c/src/lib/libbsp/arm/rtl22xx/configure.ac +++ b/c/src/lib/libbsp/arm/rtl22xx/configure.ac @@ -18,6 +18,15 @@ RTEMS_PROG_CCAS RTEMS_CHECK_NETWORKING AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes") +RTEMS_BSPOPTS_SET([BSP_PRESS_KEY_FOR_RESET],[*],[1]) +RTEMS_BSPOPTS_HELP([BSP_PRESS_KEY_FOR_RESET], +[If defined, print a message and wait until pressed before resetting + board when application exits.]) + +RTEMS_BSPOPTS_SET([BSP_RESET_BOARD_AT_EXIT],[*],[1]) +RTEMS_BSPOPTS_HELP([BSP_RESET_BOARD_AT_EXIT], +[If defined, reset the board when the application exits.]) + RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION # Explicitly list all Makefiles here diff --git a/c/src/lib/libbsp/arm/rtl22xx/console/uart.c b/c/src/lib/libbsp/arm/rtl22xx/console/uart.c index 792398a0c3..bdc52eda6c 100644 --- a/c/src/lib/libbsp/arm/rtl22xx/console/uart.c +++ b/c/src/lib/libbsp/arm/rtl22xx/console/uart.c @@ -288,7 +288,12 @@ static void _BSP_put_char( char c ) { BSP_output_char_function_type BSP_output_char = _BSP_put_char; +static int _BSP_get_char(void) +{ + return uart_poll_read(0); +} +BSP_polling_getchar_function_type BSP_poll_char = _BSP_get_char; /**************************************************************************** diff --git a/c/src/lib/libbsp/arm/rtl22xx/startup/bspclean.c b/c/src/lib/libbsp/arm/rtl22xx/startup/bspclean.c deleted file mode 100644 index 2ea71522aa..0000000000 --- a/c/src/lib/libbsp/arm/rtl22xx/startup/bspclean.c +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Philips LPC22XX/LPC21xx BSP Shutdown code - * 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 <rtems/bspIo.h> -#include <rtems/libio.h> - -int uart_poll_read(int); - -void rtemsReboot (void) -{ -#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 -} - -void bsp_cleanup(void) -{ - /* - * AT this point, the console driver is disconnected => we must - * use polled output/input. This is exactly what printk - * does. - */ - printk("\nEXECUTIVE SHUTDOWN! Any key to reboot..."); - while (uart_poll_read(0) < 0) continue; - - /* rtemsReboot(); */ -} diff --git a/c/src/lib/libbsp/arm/rtl22xx/startup/bspstart.c b/c/src/lib/libbsp/arm/rtl22xx/startup/bspstart.c index 8013eca607..39824fac30 100644 --- a/c/src/lib/libbsp/arm/rtl22xx/startup/bspstart.c +++ b/c/src/lib/libbsp/arm/rtl22xx/startup/bspstart.c @@ -17,7 +17,6 @@ * Function prototypes */ extern void rtems_irq_mngt_init(void); -void bsp_libc_init( void *, uint32_t, int ); extern void UART0_Ini(void); extern void printi(unsigned long); @@ -99,22 +98,6 @@ void bsp_start_default( void ) rtems_irq_mngt_init(); } /* bsp_start */ - -/** - * Reset the system. - * - * This functions enables the watchdog and waits for it to - * fire, thus resetting the system. - */ -void bsp_reset(void) -{ - rtems_interrupt_level level; - - rtems_interrupt_disable(level); - - while(1); -} - /* * By making this a weak alias for bsp_start_default, a brave soul * can override the actual bsp_start routine used. |