From a9485d7b6be17c5ad1c9602e2c40185bc94d9e54 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 20 May 2010 13:10:56 +0000 Subject: 2010-05-20 Sebastian Huber * Makefile.am, preinstall.am, include/bsp.h, startup/bspstart.c: Use shared output character implementation. --- c/src/lib/libbsp/arm/lpc24xx/ChangeLog | 5 +++++ c/src/lib/libbsp/arm/lpc24xx/Makefile.am | 2 ++ c/src/lib/libbsp/arm/lpc24xx/include/bsp.h | 2 ++ c/src/lib/libbsp/arm/lpc24xx/preinstall.am | 4 ++++ c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c | 28 ++----------------------- 5 files changed, 15 insertions(+), 26 deletions(-) (limited to 'c') diff --git a/c/src/lib/libbsp/arm/lpc24xx/ChangeLog b/c/src/lib/libbsp/arm/lpc24xx/ChangeLog index b5b26d5f16..972c97b9c4 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/ChangeLog +++ b/c/src/lib/libbsp/arm/lpc24xx/ChangeLog @@ -1,3 +1,8 @@ +2010-05-20 Sebastian Huber + + * Makefile.am, preinstall.am, include/bsp.h, startup/bspstart.c: Use + shared output character implementation. + 2010-05-20 Sebastian Huber * make/custom/lpc24xx.inc: Workaround for GCC bug 38644. diff --git a/c/src/lib/libbsp/arm/lpc24xx/Makefile.am b/c/src/lib/libbsp/arm/lpc24xx/Makefile.am index dd19785d09..84e37aa80e 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/Makefile.am +++ b/c/src/lib/libbsp/arm/lpc24xx/Makefile.am @@ -32,6 +32,7 @@ include_bsp_HEADERS += ../../shared/include/utility.h include_bsp_HEADERS += ../../shared/include/irq-generic.h include_bsp_HEADERS += ../../shared/include/irq-info.h include_bsp_HEADERS += ../../shared/include/stackalloc.h +include_bsp_HEADERS += ../../shared/include/uart-output-char.h include_bsp_HEADERS += ../../shared/tod.h include_bsp_HEADERS += ../shared/include/linker-symbols.h include_bsp_HEADERS += ../shared/include/start.h @@ -88,6 +89,7 @@ libbsp_a_SOURCES += ../../shared/bootcard.c \ ../../shared/gnatinstallhandler.c \ ../../shared/sbrk.c \ ../../shared/src/stackalloc.c \ + ../../shared/src/uart-output-char.c \ ../shared/abort/simple_abort.c # Startup diff --git a/c/src/lib/libbsp/arm/lpc24xx/include/bsp.h b/c/src/lib/libbsp/arm/lpc24xx/include/bsp.h index 9ab0ad629e..a7f748496b 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/include/bsp.h +++ b/c/src/lib/libbsp/arm/lpc24xx/include/bsp.h @@ -87,6 +87,8 @@ int lpc_eth_attach_detach( */ void *bsp_idle_thread(uintptr_t ignored); +#define BSP_CONSOLE_UART_BASE 0xe000c000 + /** @} */ #endif /* ASM */ diff --git a/c/src/lib/libbsp/arm/lpc24xx/preinstall.am b/c/src/lib/libbsp/arm/lpc24xx/preinstall.am index 1b99185693..1ca0658c91 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/preinstall.am +++ b/c/src/lib/libbsp/arm/lpc24xx/preinstall.am @@ -74,6 +74,10 @@ $(PROJECT_INCLUDE)/bsp/stackalloc.h: ../../shared/include/stackalloc.h $(PROJECT $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/stackalloc.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/stackalloc.h +$(PROJECT_INCLUDE)/bsp/uart-output-char.h: ../../shared/include/uart-output-char.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/uart-output-char.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/uart-output-char.h + $(PROJECT_INCLUDE)/bsp/tod.h: ../../shared/tod.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/tod.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/tod.h diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c b/c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c index 097b66c513..918096a845 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c +++ b/c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c @@ -29,6 +29,7 @@ #include #include #include +#include #ifdef LPC24XX_HEAP_EXTEND LINKER_SYMBOL(lpc24xx_region_heap_0_begin); @@ -72,13 +73,7 @@ void bsp_start(void) #ifdef LPC24XX_CONFIG_CONSOLE lpc24xx_module_enable(LPC24XX_MODULE_UART_0, LPC24XX_MODULE_CCLK); lpc24xx_io_config(LPC24XX_MODULE_UART_0, LPC24XX_CONFIG_CONSOLE); - U0LCR = 0; - U0IER = 0; - U0LCR = 0x80; - U0DLL = lpc24xx_cclk() / 16 / LPC24XX_UART_BAUD; - U0DLM = 0; - U0LCR = 0x03; - U0FCR = 0x07; + BSP_CONSOLE_UART_INIT(lpc24xx_cclk() / 16 / LPC24XX_UART_BAUD); #endif /* Interrupts */ @@ -111,22 +106,3 @@ void bsp_start(void) lpc24xx_io_config(LPC24XX_MODULE_UART_3, LPC24XX_CONFIG_UART_3); #endif } - -#define ULSR_THRE 0x00000020U - -static void lpc24xx_BSP_output_char(char c) -{ - while (IS_FLAG_CLEARED(U0LSR, ULSR_THRE)) { - /* Wait */ - } - U0THR = c; - - if (c == '\n') { - while (IS_FLAG_CLEARED(U0LSR, ULSR_THRE)) { - /* Wait */ - } - U0THR = '\r'; - } -} - -BSP_output_char_function_type BSP_output_char = lpc24xx_BSP_output_char; -- cgit v1.2.3