summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2020-01-15 10:10:48 +0700
committerGitHub <[email protected]>2020-01-15 10:10:48 +0700
commit1210beb9063c5234b9d730089dcaa8cc3b2edd9c (patch)
treec3cb92481597f238b9b2c886e65a046c0aa8dd9f
parenta6b916ba85bef6aad50f1652532b02984dfe2484 (diff)
parent0c1fff735d2db0971515330394479912624da6f7 (diff)
Merge pull request #270 from hathach/develop
Add LED to NUC BSP
-rw-r--r--hw/bsp/nutiny_nuc121s/board.mk6
-rw-r--r--hw/bsp/nutiny_nuc121s/nutiny_nuc121.c10
-rw-r--r--hw/bsp/nutiny_nuc125s/board.mk9
-rw-r--r--hw/bsp/nutiny_nuc125s/nutiny_nuc125.c10
-rw-r--r--hw/bsp/nutiny_nuc126v/board.mk6
-rw-r--r--hw/bsp/nutiny_nuc126v/nutiny_nuc126.c10
6 files changed, 41 insertions, 10 deletions
diff --git a/hw/bsp/nutiny_nuc121s/board.mk b/hw/bsp/nutiny_nuc121s/board.mk
index ec4966cb0..893c8500a 100644
--- a/hw/bsp/nutiny_nuc121s/board.mk
+++ b/hw/bsp/nutiny_nuc121s/board.mk
@@ -51,5 +51,7 @@ FREERTOS_PORT = ARM_CM0
JLINK_DEVICE = NUC121SC2AE
JLINK_IF = swd
-# flash using jlink
-flash: flash-jlink
+# Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
+# Please compile and install it from github source
+flash: $(BUILD)/$(BOARD)-firmware.elf
+ openocd -f interface/nulink.cfg -f target/numicroM0.cfg -c "program $< reset exit"
diff --git a/hw/bsp/nutiny_nuc121s/nutiny_nuc121.c b/hw/bsp/nutiny_nuc121s/nutiny_nuc121.c
index 51ca28a82..dfa67206b 100644
--- a/hw/bsp/nutiny_nuc121s/nutiny_nuc121.c
+++ b/hw/bsp/nutiny_nuc121s/nutiny_nuc121.c
@@ -29,6 +29,11 @@
#include "clk.h"
#include "sys.h"
+#define LED_PORT PB
+#define LED_PIN 4
+#define LED_PIN_IO PB4
+#define LED_STATE_ON 0
+
void board_init(void)
{
/* Unlock protected registers */
@@ -60,6 +65,9 @@ void board_init(void)
// 1ms tick timer
SysTick_Config(48000000 / 1000);
#endif
+
+ // LED
+ GPIO_SetMode(LED_PORT, 1 << LED_PIN, GPIO_MODE_OUTPUT);
}
#if CFG_TUSB_OS == OPT_OS_NONE
@@ -81,7 +89,7 @@ uint32_t board_millis(void)
void board_led_write(bool state)
{
- (void)(state);
+ LED_PIN_IO = (state ? LED_STATE_ON : (1-LED_STATE_ON));
}
uint32_t board_button_read(void)
diff --git a/hw/bsp/nutiny_nuc125s/board.mk b/hw/bsp/nutiny_nuc125s/board.mk
index 6329ca7cf..e2eecff12 100644
--- a/hw/bsp/nutiny_nuc125s/board.mk
+++ b/hw/bsp/nutiny_nuc125s/board.mk
@@ -13,7 +13,8 @@ LD_FILE = hw/bsp/nutiny_nuc125s/nuc125_flash.ld
SRC_C += \
hw/mcu/nuvoton/nuc121_125/Device/Nuvoton/NUC121/Source/system_NUC121.c \
- hw/mcu/nuvoton/nuc121_125/StdDriver/src/clk.c
+ hw/mcu/nuvoton/nuc121_125/StdDriver/src/clk.c \
+ hw/mcu/nuvoton/nuc121_125/StdDriver/src/gpio.c
SRC_S += \
hw/mcu/nuvoton/nuc121_125/Device/Nuvoton/NUC121/Source/GCC/startup_NUC121.S
@@ -34,5 +35,7 @@ FREERTOS_PORT = ARM_CM0
JLINK_DEVICE = NUC125SC2AE
JLINK_IF = swd
-# flash using jlink
-flash: flash-jlink
+# Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
+# Please compile and install it from github source
+flash: $(BUILD)/$(BOARD)-firmware.elf
+ openocd -f interface/nulink.cfg -f target/numicroM0.cfg -c "program $< reset exit"
diff --git a/hw/bsp/nutiny_nuc125s/nutiny_nuc125.c b/hw/bsp/nutiny_nuc125s/nutiny_nuc125.c
index 51ca28a82..dfa67206b 100644
--- a/hw/bsp/nutiny_nuc125s/nutiny_nuc125.c
+++ b/hw/bsp/nutiny_nuc125s/nutiny_nuc125.c
@@ -29,6 +29,11 @@
#include "clk.h"
#include "sys.h"
+#define LED_PORT PB
+#define LED_PIN 4
+#define LED_PIN_IO PB4
+#define LED_STATE_ON 0
+
void board_init(void)
{
/* Unlock protected registers */
@@ -60,6 +65,9 @@ void board_init(void)
// 1ms tick timer
SysTick_Config(48000000 / 1000);
#endif
+
+ // LED
+ GPIO_SetMode(LED_PORT, 1 << LED_PIN, GPIO_MODE_OUTPUT);
}
#if CFG_TUSB_OS == OPT_OS_NONE
@@ -81,7 +89,7 @@ uint32_t board_millis(void)
void board_led_write(bool state)
{
- (void)(state);
+ LED_PIN_IO = (state ? LED_STATE_ON : (1-LED_STATE_ON));
}
uint32_t board_button_read(void)
diff --git a/hw/bsp/nutiny_nuc126v/board.mk b/hw/bsp/nutiny_nuc126v/board.mk
index d38e6c4d5..cc88b5529 100644
--- a/hw/bsp/nutiny_nuc126v/board.mk
+++ b/hw/bsp/nutiny_nuc126v/board.mk
@@ -55,5 +55,7 @@ FREERTOS_PORT = ARM_CM0
JLINK_DEVICE = NUC126VG4AE
JLINK_IF = swd
-# flash using jlink
-flash: flash-jlink
+# Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
+# Please compile and install it from github source
+flash: $(BUILD)/$(BOARD)-firmware.elf
+ openocd -f interface/nulink.cfg -f target/numicroM0.cfg -c "program $< reset exit"
diff --git a/hw/bsp/nutiny_nuc126v/nutiny_nuc126.c b/hw/bsp/nutiny_nuc126v/nutiny_nuc126.c
index 0ce787d3e..bdc154559 100644
--- a/hw/bsp/nutiny_nuc126v/nutiny_nuc126.c
+++ b/hw/bsp/nutiny_nuc126v/nutiny_nuc126.c
@@ -29,6 +29,11 @@
#include "clk.h"
#include "sys.h"
+#define LED_PORT PC
+#define LED_PIN 9
+#define LED_PIN_IO PC9
+#define LED_STATE_ON 0
+
#define CRYSTAL_LESS /* system will be 48MHz when defined, otherwise, system is 72MHz */
#define HIRC48_AUTO_TRIM SYS_IRCTCTL1_REFCKSEL_Msk | (1UL << SYS_IRCTCTL1_LOOPSEL_Pos) | (2UL << SYS_IRCTCTL1_FREQSEL_Pos)
#define TRIM_INIT (SYS_BASE+0x118)
@@ -91,6 +96,9 @@ void board_init(void)
// 1ms tick timer
SysTick_Config(48000000 / 1000);
#endif
+
+ // LED
+ GPIO_SetMode(LED_PORT, 1 << LED_PIN, GPIO_MODE_OUTPUT);
}
#if CFG_TUSB_OS == OPT_OS_NONE
@@ -112,7 +120,7 @@ uint32_t board_millis(void)
void board_led_write(bool state)
{
- (void)(state);
+ LED_PIN_IO = (state ? LED_STATE_ON : (1-LED_STATE_ON));
}
uint32_t board_button_read(void)