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