From dea45835493d8bb525a25aebba3b3cb3a2c02c4a Mon Sep 17 00:00:00 2001 From: hathach Date: Wed, 5 Mar 2014 17:10:39 +0700 Subject: [PATCH] refractor remove board_uart_send & board_uart_recv from board API --- demos/bsp/boards/board.h | 1 - .../embedded_artists/ea4357/board_ea4357.c | 10 -- .../boards/lpcxpresso/board_lpcxpresso1769.c | 6 +- demos/bsp/boards/ngx/board_ngx4330.c | 10 -- demos/bsp/boards/printf_retarget.c | 52 +++---- demos/host/host_freertos/.cproject | 134 +++++++++--------- demos/host/host_freertos/host_freertos.uvopt | 12 +- demos/host/host_os_none/host_os_none.uvopt | 18 +-- 8 files changed, 98 insertions(+), 145 deletions(-) diff --git a/demos/bsp/boards/board.h b/demos/bsp/boards/board.h index 024837f9..8becd677 100644 --- a/demos/bsp/boards/board.h +++ b/demos/bsp/boards/board.h @@ -121,7 +121,6 @@ void board_init(void); void board_leds(uint32_t on_mask, uint32_t off_mask); -uint32_t board_uart_send(uint8_t *buffer, uint32_t length); uint8_t board_uart_getchar(void); void board_uart_putchar(uint8_t c); diff --git a/demos/bsp/boards/embedded_artists/ea4357/board_ea4357.c b/demos/bsp/boards/embedded_artists/ea4357/board_ea4357.c index 4c0e8fbb..b5713fb1 100644 --- a/demos/bsp/boards/embedded_artists/ea4357/board_ea4357.c +++ b/demos/bsp/boards/embedded_artists/ea4357/board_ea4357.c @@ -118,16 +118,6 @@ void board_leds(uint32_t on_mask, uint32_t off_mask) // UART //--------------------------------------------------------------------+ #if CFG_UART_ENABLE -uint32_t board_uart_send(uint8_t *buffer, uint32_t length) -{ - return UART_Send(BOARD_UART_PORT, buffer, length, BLOCKING); -} - -uint32_t board_uart_recv(uint8_t *buffer, uint32_t length) -{ - return UART_Receive(BOARD_UART_PORT, buffer, length, BLOCKING); -} - uint8_t board_uart_getchar(void) { return UART_ReceiveByte(BOARD_UART_PORT); diff --git a/demos/bsp/boards/lpcxpresso/board_lpcxpresso1769.c b/demos/bsp/boards/lpcxpresso/board_lpcxpresso1769.c index 41ddb6ab..74d1451b 100644 --- a/demos/bsp/boards/lpcxpresso/board_lpcxpresso1769.c +++ b/demos/bsp/boards/lpcxpresso/board_lpcxpresso1769.c @@ -112,14 +112,10 @@ void board_leds(uint32_t on_mask, uint32_t off_mask) // UART //--------------------------------------------------------------------+ #if CFG_UART_ENABLE -uint32_t board_uart_send(uint8_t *buffer, uint32_t length) -{ - return UART_Send(BOARD_UART_PORT, buffer, length, BLOCKING); -} void board_uart_putchar(uint8_t c) { - UART_SendByte(BOARD_UART_PORT, c); + UART_Send(BOARD_UART_PORT, &c, 1, BLOCKING); } uint8_t board_uart_getchar(void) diff --git a/demos/bsp/boards/ngx/board_ngx4330.c b/demos/bsp/boards/ngx/board_ngx4330.c index a44f5de1..c134ff95 100644 --- a/demos/bsp/boards/ngx/board_ngx4330.c +++ b/demos/bsp/boards/ngx/board_ngx4330.c @@ -109,16 +109,6 @@ void board_leds(uint32_t on_mask, uint32_t off_mask) //--------------------------------------------------------------------+ // UART //--------------------------------------------------------------------+ -uint32_t board_uart_send(uint8_t *p_buffer, uint32_t length) -{ - return UART_Send(BOARD_UART_PORT, p_buffer, length, BLOCKING); -} - -uint32_t board_uart_recv(uint8_t *p_buffer, uint32_t length) -{ - return UART_Receive(BOARD_UART_PORT, p_buffer, length, BLOCKING); -} - uint8_t board_uart_getchar(void) { return UART_ReceiveByte(BOARD_UART_PORT); diff --git a/demos/bsp/boards/printf_retarget.c b/demos/bsp/boards/printf_retarget.c index 5d936c1a..dd33d2db 100644 --- a/demos/bsp/boards/printf_retarget.c +++ b/demos/bsp/boards/printf_retarget.c @@ -42,8 +42,11 @@ #if CFG_PRINTF_TARGET == PRINTF_TARGET_UART #define retarget_getchar() board_uart_getchar() + #define retarget_putchar(c) board_uart_putchar(c); #elif CFG_PRINTF_TARGET == PRINTF_TARGET_SWO + volatile int32_t ITM_RxBuffer; // keil variable to read from SWO #define retarget_getchar() ITM_ReceiveChar() + #define retarget_putchar(c) ITM_SendChar(c) #else #error Target is not implemented yet #endif @@ -52,6 +55,11 @@ // LPCXPRESSO / RED SUITE //--------------------------------------------------------------------+ #if defined __CODE_RED + +#if CFG_PRINTF_TARGET == PRINTF_TARGET_SWO + #error author does not know how to retarget SWO with lpcxpresso/red-suite +#endif + // Called by bottom level of printf routine within RedLib C library to write // a character. With the default semihosting stub, this would write the character // to the debugger console window . But this version writes @@ -60,22 +68,17 @@ int __sys_write (int iFileHandle, char *buf, int length) { (void) iFileHandle; -#if CFG_PRINTF_TARGET == PRINTF_TARGET_UART int ret = length; for (int i=0; i - - -