|
@@ -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 */
|
|
|
|
|
- /* attach 12 MHz clock to FLEXCOMM0 (debug console) */
|
|
|
|
|
-// CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
|
|
|
|
|
- /* enable clock for GPIO*/
|
|
|
|
|
- CLOCK_EnableClock(kCLOCK_Gpio0);
|
|
|
|
|
- CLOCK_EnableClock(kCLOCK_Gpio1);
|
|
|
|
|
|
|
+ /* Board pin, clock, debug console init */
|
|
|
|
|
+ /* attach 12 MHz clock to FLEXCOMM0 (debug console) */
|
|
|
|
|
+ // CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
|
|
|
|
|
+ /* enable clock for GPIO*/
|
|
|
|
|
+ CLOCK_EnableClock(kCLOCK_Gpio0);
|
|
|
|
|
+ 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
|