With QMK keyboard firmware, we currently have a small set of currently-used STM32 parts:
- STM32F042 - no updater
- STM32F072 - no udpater
- STM32F103 - no updater
- STM32F303
- STM32F411 - no updater, but two others exist from the same family
Obviously some of these aren't currently supported via upgrade script -- the F042/F072/F103/F411 -- would it be an awful bother to get these added? Or would it be easier if I were to attempt to get an initial implementation going so you can get it upstreamed?
As a sidenote, I've also been attempting to get things going with currently-supported upgrade scripts, for:
- STM32L07x
- STM32G4x1
- STM32G4x4
The L07x (L072) script does not currently inject the USB definitions:
Code: Select all
/*
* USB driver system settings.
*/
#define STM32_USB_USE_USB1 TRUE
#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE
#define STM32_USB_USB1_HP_IRQ_PRIORITY 0
#define STM32_USB_USB1_LP_IRQ_PRIORITY 0
And the output from both the G4x1 and G4x4 scripts currently fail with the following errors:
Code: Select all
lib/chibios/os/hal/ports/STM32/STM32G4xx/hal_lld.c In file included from keyboards/handwired/onekey/nucleo64_g431rb/halconf.h:34:0,
from ./lib/chibios/os/hal/include/hal.h:30,
from lib/chibios/os/hal/ports/STM32/STM32G4xx/hal_lld.c:25:
lib/chibios/os/hal/ports/STM32/STM32G4xx/hal_lld.c: In function 'hal_lld_init':
keyboards/handwired/onekey/nucleo64_g431rb/mcuconf.h:43:46: error: 'STM32_PLS_LEV0' undeclared (first use in this function)
#define STM32_PWR_CR2 (STM32_PLS_LEV0 | STM32_PVDE_DISABLED)
^
lib/chibios/os/hal/ports/STM32/STM32G4xx/hal_lld.c:119:14: note: in expansion of macro 'STM32_PWR_CR2'
PWR->CR2 = STM32_PWR_CR2;
^~~~~~~~~~~~~
keyboards/handwired/onekey/nucleo64_g431rb/mcuconf.h:43:46: note: each undeclared identifier is reported only once for each function it appears in
#define STM32_PWR_CR2 (STM32_PLS_LEV0 | STM32_PVDE_DISABLED)
^
lib/chibios/os/hal/ports/STM32/STM32G4xx/hal_lld.c:119:14: note: in expansion of macro 'STM32_PWR_CR2'
PWR->CR2 = STM32_PWR_CR2;
^~~~~~~~~~~~~
keyboards/handwired/onekey/nucleo64_g431rb/mcuconf.h:43:63: error: 'STM32_PVDE_DISABLED' undeclared (first use in this function)
#define STM32_PWR_CR2 (STM32_PLS_LEV0 | STM32_PVDE_DISABLED)
^
lib/chibios/os/hal/ports/STM32/STM32G4xx/hal_lld.c:119:14: note: in expansion of macro 'STM32_PWR_CR2'
PWR->CR2 = STM32_PWR_CR2;
^~~~~~~~~~~~~
lib/chibios/os/hal/ports/STM32/STM32G4xx/hal_lld.c: In function 'stm32_clock_init':
keyboards/handwired/onekey/nucleo64_g431rb/mcuconf.h:43:46: error: 'STM32_PLS_LEV0' undeclared (first use in this function)
#define STM32_PWR_CR2 (STM32_PLS_LEV0 | STM32_PVDE_DISABLED)
^
lib/chibios/os/hal/ports/STM32/STM32G4xx/hal_lld.c:156:14: note: in expansion of macro 'STM32_PWR_CR2'
PWR->CR2 = STM32_PWR_CR2;
^~~~~~~~~~~~~
keyboards/handwired/onekey/nucleo64_g431rb/mcuconf.h:43:63: error: 'STM32_PVDE_DISABLED' undeclared (first use in this function)
#define STM32_PWR_CR2 (STM32_PLS_LEV0 | STM32_PVDE_DISABLED)
^
lib/chibios/os/hal/ports/STM32/STM32G4xx/hal_lld.c:156:14: note: in expansion of macro 'STM32_PWR_CR2'
PWR->CR2 = STM32_PWR_CR2;
^~~~~~~~~~~~~
[ERRORS]
|
|
|
tmk_core/rules.mk:377: recipe for target '.build/obj_handwired_onekey_nucleo64_g431rb/lib/chibios/os/hal/ports/STM32/STM32G4xx/hal_lld.o' failed
make[1]: *** [.build/obj_handwired_onekey_nucleo64_g431rb/lib/chibios/os/hal/ports/STM32/STM32G4xx/hal_lld.o] Error 1