Merge pull request #270 from hathach/develop

Add LED to NUC BSP
This commit is contained in:
Ha Thach 2020-01-15 10:10:48 +07:00 committed by GitHub
commit 1210beb906
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 41 additions and 10 deletions

View File

@ -51,5 +51,7 @@ FREERTOS_PORT = ARM_CM0
JLINK_DEVICE = NUC121SC2AE JLINK_DEVICE = NUC121SC2AE
JLINK_IF = swd JLINK_IF = swd
# flash using jlink # Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
flash: flash-jlink # 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"

View File

@ -29,6 +29,11 @@
#include "clk.h" #include "clk.h"
#include "sys.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) void board_init(void)
{ {
/* Unlock protected registers */ /* Unlock protected registers */
@ -60,6 +65,9 @@ void board_init(void)
// 1ms tick timer // 1ms tick timer
SysTick_Config(48000000 / 1000); SysTick_Config(48000000 / 1000);
#endif #endif
// LED
GPIO_SetMode(LED_PORT, 1 << LED_PIN, GPIO_MODE_OUTPUT);
} }
#if CFG_TUSB_OS == OPT_OS_NONE #if CFG_TUSB_OS == OPT_OS_NONE
@ -81,7 +89,7 @@ uint32_t board_millis(void)
void board_led_write(bool state) 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) uint32_t board_button_read(void)

View File

@ -13,7 +13,8 @@ LD_FILE = hw/bsp/nutiny_nuc125s/nuc125_flash.ld
SRC_C += \ SRC_C += \
hw/mcu/nuvoton/nuc121_125/Device/Nuvoton/NUC121/Source/system_NUC121.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 += \ SRC_S += \
hw/mcu/nuvoton/nuc121_125/Device/Nuvoton/NUC121/Source/GCC/startup_NUC121.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_DEVICE = NUC125SC2AE
JLINK_IF = swd JLINK_IF = swd
# flash using jlink # Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
flash: flash-jlink # 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"

View File

@ -29,6 +29,11 @@
#include "clk.h" #include "clk.h"
#include "sys.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) void board_init(void)
{ {
/* Unlock protected registers */ /* Unlock protected registers */
@ -60,6 +65,9 @@ void board_init(void)
// 1ms tick timer // 1ms tick timer
SysTick_Config(48000000 / 1000); SysTick_Config(48000000 / 1000);
#endif #endif
// LED
GPIO_SetMode(LED_PORT, 1 << LED_PIN, GPIO_MODE_OUTPUT);
} }
#if CFG_TUSB_OS == OPT_OS_NONE #if CFG_TUSB_OS == OPT_OS_NONE
@ -81,7 +89,7 @@ uint32_t board_millis(void)
void board_led_write(bool state) 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) uint32_t board_button_read(void)

View File

@ -55,5 +55,7 @@ FREERTOS_PORT = ARM_CM0
JLINK_DEVICE = NUC126VG4AE JLINK_DEVICE = NUC126VG4AE
JLINK_IF = swd JLINK_IF = swd
# flash using jlink # Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
flash: flash-jlink # 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"

View File

@ -29,6 +29,11 @@
#include "clk.h" #include "clk.h"
#include "sys.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 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 HIRC48_AUTO_TRIM SYS_IRCTCTL1_REFCKSEL_Msk | (1UL << SYS_IRCTCTL1_LOOPSEL_Pos) | (2UL << SYS_IRCTCTL1_FREQSEL_Pos)
#define TRIM_INIT (SYS_BASE+0x118) #define TRIM_INIT (SYS_BASE+0x118)
@ -91,6 +96,9 @@ void board_init(void)
// 1ms tick timer // 1ms tick timer
SysTick_Config(48000000 / 1000); SysTick_Config(48000000 / 1000);
#endif #endif
// LED
GPIO_SetMode(LED_PORT, 1 << LED_PIN, GPIO_MODE_OUTPUT);
} }
#if CFG_TUSB_OS == OPT_OS_NONE #if CFG_TUSB_OS == OPT_OS_NONE
@ -112,7 +120,7 @@ uint32_t board_millis(void)
void board_led_write(bool state) 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) uint32_t board_button_read(void)