A keyboards/ducky/one2mini/1861st/1861st.c => keyboards/ducky/one2mini/1861st/1861st.c +8 -0
@@ 0,0 1,8 @@
+// Copyright 2022 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "1861st.h"
+
+void bootloader_jump(void) {
+ // TODO: Work out how to jump to LDROM, for now just reset the board.
+ NVIC_SystemReset();
+}
M keyboards/ducky/one2mini/1861st/rules.mk => keyboards/ducky/one2mini/1861st/rules.mk +3 -0
@@ 1,6 1,9 @@
MCU_FAMILY = NUMICRO
MCU_SERIES = NUC123
+# Bootloader selection
+BOOTLOADER = custom
+
# linker script to use
MCU_LDSCRIPT = NUC123xD4xx0
M keyboards/ergodox_stm32/ergodox_stm32.c => keyboards/ergodox_stm32/ergodox_stm32.c +5 -0
@@ 16,6 16,11 @@ void board_init(void) {
AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE;
}
+void bootloader_jump(void) {
+ // This board doesn't use the "standard" stm32duino bootloader, and is resident in memory at the base location. All we can do here is reset.
+ NVIC_SystemReset();
+}
+
void matrix_init_kb(void)
{
// Init LED Ports
M keyboards/ergodox_stm32/rules.mk => keyboards/ergodox_stm32/rules.mk +3 -0
@@ 3,6 3,9 @@ MCU = STM32F103
MCU_LDSCRIPT = stm32f103_bootloader
BOARD = ST_NUCLEO64_F103RB
+# Bootloader selection
+BOOTLOADER = custom
+
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
M keyboards/jm60/jm60.c => keyboards/jm60/jm60.c +5 -0
@@ 20,3 20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
void board_init(void) {
AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE;
}
+
+void bootloader_jump(void) {
+ // This board doesn't use the "standard" stm32duino bootloader. There's no information on how to jump to the custom bootloader, so all we can do here is reset.
+ NVIC_SystemReset();
+}
M keyboards/jm60/rules.mk => keyboards/jm60/rules.mk +3 -0
@@ 4,6 4,9 @@ MCU = STM32F103
MCU_LDSCRIPT = jm60_bootloader
BOARD = ST_NUCLEO64_F103RB
+# Bootloader selection
+BOOTLOADER = custom
+
# Build Options
# change yes to no to disable
#
M keyboards/matrix/abelx/abelx.c => keyboards/matrix/abelx/abelx.c +5 -0
@@ 97,3 97,8 @@ void shutdown_user(void)
// set the magic number for resetting to the bootloader
*(uint32_t *)(&(RTCD1.rtc->BKP0R)) = REBOOT_MAGIC;
}
+
+void bootloader_jump(void) {
+ shutdown_user();
+ NVIC_SystemReset();
+}
M keyboards/matrix/abelx/rules.mk => keyboards/matrix/abelx/rules.mk +3 -0
@@ 25,6 25,9 @@ ARMV = 7
USE_FPU = yes
+# Bootloader selection
+BOOTLOADER = custom
+
# Build Options
# change yes to no to disable
#
M keyboards/matrix/m12og/rev1/rev1.c => keyboards/matrix/m12og/rev1/rev1.c +5 -0
@@ 20,6 20,11 @@ void board_init(void) {
writePinLow(A8);
}
+void bootloader_jump(void) {
+ // This board doesn't use the standard DFU bootloader, and no information is available regarding how to enter bootloader mode. All we can do here is reset.
+ NVIC_SystemReset();
+}
+
void keyboard_post_init_kb(void) {
rgblight_enable_noeeprom();
rgblight_sethsv_noeeprom(5, 255, 255);
M keyboards/matrix/m12og/rev1/rules.mk => keyboards/matrix/m12og/rev1/rules.mk +3 -0
@@ 5,6 5,9 @@ MCU_LDSCRIPT = m12og_v1
BOARD = m12og_v1
+# Bootloader selection
+BOOTLOADER = custom
+
# Build Options
# change yes to no to disable
#
M keyboards/matrix/m20add/m20add.c => keyboards/matrix/m20add/m20add.c +5 -0
@@ 59,3 59,8 @@ void shutdown_user(void)
// set the magic number for resetting to the bootloader
*(uint32_t *)(&(RTCD1.rtc->BKP0R)) = REBOOT_MAGIC;
}
+
+void bootloader_jump(void) {
+ shutdown_user();
+ NVIC_SystemReset();
+}
M keyboards/matrix/m20add/rules.mk => keyboards/matrix/m20add/rules.mk +3 -0
@@ 10,6 10,9 @@ MCU_LDSCRIPT = m20add_boot
# or <this_dir>/boards
BOARD = ST_NUCLEO64_F411RE
+# Bootloader selection
+BOOTLOADER = custom
+
# Build Options
# change yes to no to disable
#
M keyboards/matrix/noah/noah.c => keyboards/matrix/noah/noah.c +5 -0
@@ 4,6 4,11 @@
#include "noah.h"
+void bootloader_jump(void) {
+ // This board doesn't use the standard DFU bootloader, and no information is available regarding how to enter bootloader mode. All we can do here is reset.
+ NVIC_SystemReset();
+}
+
#ifdef RGBLIGHT_ENABLE
#include <string.h>
#include "rgblight.h"
M keyboards/matrix/noah/rules.mk => keyboards/matrix/noah/rules.mk +3 -0
@@ 10,6 10,9 @@ MCU_LDSCRIPT = noah_boot
# or <this_dir>/boards
BOARD = ST_NUCLEO64_F411RE
+# Bootloader selection
+BOOTLOADER = custom
+
# Build Options
# change yes to no to disable
#
M keyboards/wolfmarkclub/wm1/rules.mk => keyboards/wolfmarkclub/wm1/rules.mk +3 -0
@@ 5,6 5,9 @@ MCU = STM32F103
MCU_LDSCRIPT = wm1_f103
BOARD = STM32_F103_STM32DUINO
+# Bootloader selection
+BOOTLOADER = custom
+
PROGRAM_CMD = echo 'CLI flashing not supported' >&2
# Build Options
M keyboards/wolfmarkclub/wm1/wm1.c => keyboards/wolfmarkclub/wm1/wm1.c +5 -0
@@ 1,5 1,10 @@
#include "wm1.h"
+void bootloader_jump(void) {
+ // This board doesn't use the "standard" stm32duino bootloader, and no information is available regarding how to enter bootloader mode. All we can do here is reset.
+ NVIC_SystemReset();
+}
+
void matrix_init_kb(void) {
setPinOutput(B1); // Top Indicator LED
setPinOutput(B0); // Middle Indicator LED
M keyboards/xiaomi/mk02/rules.mk => keyboards/xiaomi/mk02/rules.mk +3 -0
@@ 3,6 3,9 @@ MCU = STM32F072
BOARD = ST_STM32F072B_DISCOVERY
MCU_LDSCRIPT = STM32F072_0x2000_bootloader
+# Bootloader selection
+BOOTLOADER = custom
+
DFU_ARGS = -d 0483:df11 -a 0 -s 0x08002000:leave
DFU_SUFFIX_ARGS = -v 0483 -p DF11