board_test example run with lpcxpresso51u68

This commit is contained in:
hathach
2019-08-26 12:24:46 +07:00
parent d4895c4af6
commit fa796de6cd
2 changed files with 64 additions and 7 deletions

View File

@@ -15,7 +15,8 @@ LD_FILE = hw/bsp/lpcxpresso51u68/LPC51U68_flash.ld
SRC_C += \ SRC_C += \
hw/mcu/nxp/lpcopen/lpc51u6x/system_LPC51U68.c \ hw/mcu/nxp/lpcopen/lpc51u6x/system_LPC51U68.c \
hw/mcu/nxp/lpcopen/lpc51u6x/drivers/fsl_clock.c \ hw/mcu/nxp/lpcopen/lpc51u6x/drivers/fsl_clock.c \
hw/mcu/nxp/lpcopen/lpc51u6x/drivers/fsl_gpio.c hw/mcu/nxp/lpcopen/lpc51u6x/drivers/fsl_gpio.c \
hw/mcu/nxp/lpcopen/lpc51u6x/drivers/fsl_reset.c
INC += \ INC += \
$(TOP)/hw/mcu/nxp/lpcopen/lpc51u6x \ $(TOP)/hw/mcu/nxp/lpcopen/lpc51u6x \

View File

@@ -25,6 +25,7 @@
*/ */
#include "../board.h" #include "../board.h"
#include "LPC51U68.h"
#include "fsl_gpio.h" #include "fsl_gpio.h"
#define LED_PORT 0 #define LED_PORT 0
@@ -37,11 +38,66 @@
void board_init(void) void board_init(void)
{ {
/* Board pin, clock, debug console init */ /* Board pin, clock, debug console init */
/* attach 12 MHz clock to FLEXCOMM0 (debug console) */ /* attach 12 MHz clock to FLEXCOMM0 (debug console) */
// CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH); // CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
/* enable clock for GPIO*/ /* enable clock for GPIO*/
CLOCK_EnableClock(kCLOCK_Gpio0); CLOCK_EnableClock(kCLOCK_Gpio0);
CLOCK_EnableClock(kCLOCK_Gpio1); CLOCK_EnableClock(kCLOCK_Gpio1);
#if CFG_TUSB_OS == OPT_OS_NONE
// 1ms tick timer
SysTick_Config(SystemCoreClock / 1000);
#elif CFG_TUSB_OS == OPT_OS_FREERTOS
// If freeRTOS is used, IRQ priority is limit by max syscall ( smaller is higher )
NVIC_SetPriority(USB0_IRQn, configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY );
#endif
// LED
gpio_pin_config_t led_config = { kGPIO_DigitalOutput, 0, };
GPIO_PortInit(GPIO, LED_PORT);
GPIO_PinInit(GPIO, LED_PORT, LED_PIN, &led_config);
} }
//--------------------------------------------------------------------+
// Board porting API
//--------------------------------------------------------------------+
void board_led_write(bool state)
{
GPIO_PinWrite(GPIO, LED_PORT, LED_PIN, state ? LED_STATE_ON : (1-LED_STATE_ON));
}
uint32_t board_button_read(void)
{
// active low
// return Chip_GPIO_GetPinState(LPC_GPIO, BUTTON_PORT, BUTTON_PIN) ? 0 : 1;
return 0;
}
int board_uart_read(uint8_t* buf, int len)
{
(void) buf;
(void) len;
return 0;
}
int board_uart_write(void const * buf, int len)
{
(void) buf;
(void) len;
return 0;
}
#if CFG_TUSB_OS == OPT_OS_NONE
volatile uint32_t system_ticks = 0;
void SysTick_Handler (void)
{
system_ticks++;
}
uint32_t board_millis(void)
{
return system_ticks;
}
#endif