diff --git a/demos/bsp/boards/board.h b/demos/bsp/boards/board.h index 318842357..0cac209a7 100644 --- a/demos/bsp/boards/board.h +++ b/demos/bsp/boards/board.h @@ -69,6 +69,7 @@ #define BOARD_EA4357 4 #define BOARD_MCB4300 5 #define BOARD_HITEX4350 6 +#define BOARD_LPCXPRESSO1769 7 //--------------------------------------------------------------------+ // PRINTF TARGET DEFINE @@ -83,7 +84,7 @@ #if BOARD == 0 #error BOARD is not defined or supported yet #elif BOARD == BOARD_NGX4330 - #include "ngx/board_ngx4330.h" + #include "ngx/board_ngx4330.h"` #elif BOARD == BOARD_LPCXPRESSO1347 #include "lpcxpresso/board_lpcxpresso1347.h" #elif BOARD == BOARD_RF1GHZNODE @@ -94,6 +95,8 @@ #include "keil/board_mcb4300.h" #elif BOARD == BOARD_HITEX4350 #include "hitex/board_hitex4350.h" +#elif BOARD == BOARD_LPCXPRESSO1769 + #include "lpcxpresso/board_lpcxpresso1769.h" #else #error BOARD is not defined or supported yet #endif diff --git a/demos/bsp/boards/lpcxpresso/board_lpcxpresso1769.c b/demos/bsp/boards/lpcxpresso/board_lpcxpresso1769.c new file mode 100644 index 000000000..65778e50d --- /dev/null +++ b/demos/bsp/boards/lpcxpresso/board_lpcxpresso1769.c @@ -0,0 +1,114 @@ +/**************************************************************************/ +/*! + @file board_lpcxpresso1769.c + @author hathach (tinyusb.org) + + @section LICENSE + + Software License Agreement (BSD License) + + Copyright (c) 2013, hathach (tinyusb.org) + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holders nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + This file is part of the tinyusb stack. +*/ +/**************************************************************************/ + +#include "../board.h" + +#if BOARD == BOARD_LPCXPRESSO1769 + +#define BOARD_UART_PORT LPC_UART3 + +void board_init(void) +{ + SystemInit(); + SysTick_Config(SystemCoreClock / CFG_TICKS_PER_SECOND); // 1 msec tick timer + + // Leds Init + GPIO_SetDir(CFG_LED_PORT, BIT_(CFG_LED_PIN), 1); + +#if CFG_UART_ENABLE + //------------- UART init -------------// + + PINSEL_CFG_Type PinCfg = + { + .Portnum = 0, + .Pinnum = 0, // TXD is P0.0 + .Funcnum = 2, + .OpenDrain = 0, + .Pinmode = 0 + }; + PINSEL_ConfigPin(&PinCfg); + + PinCfg.Portnum = 0; + PinCfg.Pinnum = 1; // RXD is P0.1 + PINSEL_ConfigPin(&PinCfg); + + UART_CFG_Type UARTConfigStruct; + UART_ConfigStructInit(&UARTConfigStruct); + UARTConfigStruct.Baud_rate = CFG_UART_BAUDRATE; + UARTConfigStruct.Clock_Speed = 0; + + UART_Init(BOARD_UART_PORT, &UARTConfigStruct); + UART_TxCmd(BOARD_UART_PORT, ENABLE); // Enable UART Transmit +#endif + +#if CFG_PRINTF_TARGET == PRINTF_TARGET_SWO + LPC_IOCON->PIO0_9 &= ~0x07; /* UART I/O config */ + LPC_IOCON->PIO0_9 |= 0x03; /* UART RXD */ +#endif +} + +//--------------------------------------------------------------------+ +// LEDS +//--------------------------------------------------------------------+ +void board_leds(uint32_t on_mask, uint32_t off_mask) +{ + if (on_mask & BIT_(0)) + { + GPIO_SetValue(CFG_LED_PORT, BIT_(CFG_LED_PIN)); + }else if (off_mask & BIT_(0)) + { + GPIO_ClearValue(CFG_LED_PORT, BIT_(CFG_LED_PIN)); + } +} + +//--------------------------------------------------------------------+ +// 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); +} +#endif + +#endif diff --git a/demos/bsp/boards/lpcxpresso/board_lpcxpresso1769.h b/demos/bsp/boards/lpcxpresso/board_lpcxpresso1769.h new file mode 100644 index 000000000..8e2212cc5 --- /dev/null +++ b/demos/bsp/boards/lpcxpresso/board_lpcxpresso1769.h @@ -0,0 +1,68 @@ +/**************************************************************************/ +/*! + @file board_lpcxpresso1769.h + @author hathach (tinyusb.org) + + @section LICENSE + + Software License Agreement (BSD License) + + Copyright (c) 2013, hathach (tinyusb.org) + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holders nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + This file is part of the tinyusb stack. +*/ +/**************************************************************************/ + +/** \ingroup TBD + * \defgroup TBD + * \brief TBD + * + * @{ + */ + +#ifndef _TUSB_BOARD_LPCXPRESSO1769_H_ +#define _TUSB_BOARD_LPCXPRESSO1769_H_ + +#include "LPC17xx.h" +#include "lpc175x_6x/LPC17xx_DriverLib/include/lpc17xx_gpio.h" +#include "lpc175x_6x/LPC17xx_DriverLib/include/lpc17xx_uart.h" + +#ifdef __cplusplus + extern "C" { +#endif + +#define CFG_LED_PORT (0) +#define CFG_LED_PIN (22) + +#define CFG_PRINTF_TARGET PRINTF_TARGET_DEBUG_CONSOLE + +#ifdef __cplusplus + } +#endif + +#endif /* _TUSB_BOARD_LPCXPRESSO1769_H_ */ + +/** @} */ diff --git a/demos/bsp/boards/ngx/board_ngx4330.h b/demos/bsp/boards/ngx/board_ngx4330.h new file mode 100644 index 000000000..d3d740e14 --- /dev/null +++ b/demos/bsp/boards/ngx/board_ngx4330.h @@ -0,0 +1,67 @@ +/**************************************************************************/ +/*! + @file board_ngx4330.h + @author hathach (tinyusb.org) + + @section LICENSE + + Software License Agreement (BSD License) + + Copyright (c) 2013, hathach (tinyusb.org) + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holders nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + This file is part of the tinyusb stack. +*/ +/**************************************************************************/ + +/** \ingroup TBD + * \defgroup TBD + * \brief TBD + * + * @{ + */ + +#ifndef _TUSB_BOARD_NGX4330_H_ +#define _TUSB_BOARD_NGX4330_H_ + +#include "LPC43xx.h" +#include "lpc43xx_scu.h" +#include "lpc43xx_cgu.h" +#include "lpc43xx_gpio.h" +#include "lpc43xx_uart.h" + +#ifdef __cplusplus + extern "C" { +#endif + +#define CFG_PRINTF_TARGET PRINTF_TARGET_DEBUG_CONSOLE + +#ifdef __cplusplus + } +#endif + +#endif /* _TUSB_BOARD_NGX4330_H_ */ + +/** @} */ diff --git a/demos/device/keyboard/.cproject b/demos/device/keyboard/.cproject index cf6a34812..c0236fe42 100644 --- a/demos/device/keyboard/.cproject +++ b/demos/device/keyboard/.cproject @@ -30,7 +30,7 @@ - - -