board_test example run with lpcxpresso51u68
This commit is contained in:
@@ -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 \
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user