diff --git a/CI/build/conf/cores_config.json b/CI/build/conf/cores_config.json index 32b2772a00..2894a094f9 100644 --- a/CI/build/conf/cores_config.json +++ b/CI/build/conf/cores_config.json @@ -53,6 +53,8 @@ "GENERIC_C092CBTX", "GENERIC_C092CBUX", "GENERIC_C092CCTX", + "GENERIC_C092RBTX", + "GENERIC_C092RCIX", "GENERIC_F031C4TX", "GENERIC_F031E6YX", "GENERIC_F031F4PX", @@ -244,6 +246,7 @@ "GENERIC_F411CCYX", "GENERIC_F411CEUX", "GENERIC_F411RCTX", + "GENERIC_F411VCTX", "GENERIC_F412CEUX", "GENERIC_F412RETX", "GENERIC_F412REYX", @@ -889,6 +892,11 @@ "GENERIC_WB55VGQX", "GENERIC_WB55VGYX", "GENERIC_WBA55CEUX", + "GENERIC_WL33C8VX", + "GENERIC_WL33C8VXX", + "GENERIC_WL33CBVX", + "GENERIC_WL33CBVXX", + "GENERIC_WL33CCVX", "GENERIC_WL54CCUX", "GENERIC_WL54JCIX", "GENERIC_WL55CCUX", diff --git a/CI/build/conf/cores_config_ci.json b/CI/build/conf/cores_config_ci.json index b6c3685313..02d9a341d4 100644 --- a/CI/build/conf/cores_config_ci.json +++ b/CI/build/conf/cores_config_ci.json @@ -53,6 +53,8 @@ "GENERIC_C092CBTX", "GENERIC_C092CBUX", "GENERIC_C092CCTX", + "GENERIC_C092RBTX", + "GENERIC_C092RCIX", "GENERIC_F031C4TX", "GENERIC_F031E6YX", "GENERIC_F031F4PX", @@ -244,6 +246,7 @@ "GENERIC_F411CCYX", "GENERIC_F411CEUX", "GENERIC_F411RCTX", + "GENERIC_F411VCTX", "GENERIC_F412CEUX", "GENERIC_F412RETX", "GENERIC_F412REYX", @@ -889,6 +892,11 @@ "GENERIC_WB55VGQX", "GENERIC_WB55VGYX", "GENERIC_WBA55CEUX", + "GENERIC_WL33C8VX", + "GENERIC_WL33C8VXX", + "GENERIC_WL33CBVX", + "GENERIC_WL33CBVXX", + "GENERIC_WL33CCVX", "GENERIC_WL54CCUX", "GENERIC_WL54JCIX", "GENERIC_WL55CCUX", diff --git a/README.md b/README.md index 7b53f080c0..510337a3b3 100644 --- a/README.md +++ b/README.md @@ -166,6 +166,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d | :green_heart: | STM32WB55RG | [P-Nucleo-WB55RG](https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html) | *1.6.0* | BLE support with [STM32duinoBLE](https://github.com/stm32duino/STM32duinoBLE) | | :green_heart: | STM32WB55CG | [P-Nucleo-WB55 USB Dongle](https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html) | *2.5.0* | BLE support with [STM32duinoBLE](https://github.com/stm32duino/STM32duinoBLE) | | :yellow_heart: | STM32WL3CCV | [Nucleo-WL33CC1](https://www.st.com/en/evaluation-tools/nucleo-wl33cc1.html) | **2.12.0** | | +| :yellow_heart: | STM32WL3CCV | [Nucleo-WL33CC2](https://www.st.com/en/evaluation-tools/nucleo-wl33cc2.html) | **2.12.0** | | | :green_heart: | STM32WL55JC | [Nucleo WL55JC1](https://www.st.com/en/evaluation-tools/nucleo-wl55jc.html) | *2.1.0* | LoRa support not available | diff --git a/boards.txt b/boards.txt index 46356f1464..eff79e815c 100644 --- a/boards.txt +++ b/boards.txt @@ -995,6 +995,7 @@ Nucleo_64.menu.pnum.NUCLEO_WL33CC1.build.board=NUCLEO_WL33CC1 Nucleo_64.menu.pnum.NUCLEO_WL33CC1.build.series=STM32WL3x Nucleo_64.menu.pnum.NUCLEO_WL33CC1.build.product_line=STM32WL3xx Nucleo_64.menu.pnum.NUCLEO_WL33CC1.build.variant=STM32WL3x/WL33C(8-B-C)Vx(X) +Nucleo_64.menu.pnum.NUCLEO_WL33CC1.build.variant_h=variant_NUCLEO_WL33CCx.h Nucleo_64.menu.pnum.NUCLEO_WL33CC1.build.st_extra_flags=-D{build.product_line} {build.xSerial} -D__CORTEX_SC=0 Nucleo_64.menu.pnum.NUCLEO_WL33CC1.openocd.target=stm32wl3x Nucleo_64.menu.pnum.NUCLEO_WL33CC1.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32WL3x/STM32WL33.svd @@ -1003,6 +1004,25 @@ Nucleo_64.menu.pnum.NUCLEO_WL33CC1.upload.mode=hwRstPulse Nucleo_64.menu.pnum.NUCLEO_WL33CC1.upload.start=0x10000000 Nucleo_64.menu.pnum.NUCLEO_WL33CC1.upload.parity=none +# NUCLEO_WL3CC2 board +Nucleo_64.menu.pnum.NUCLEO_WL33CC2=Nucleo WL33CC2 +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.node="NOD_WL33CC" +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.upload.maximum_size=262144 +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.upload.maximum_data_size=32768 +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.build.mcu=cortex-m0plus +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.build.board=NUCLEO_WL33CC2 +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.build.series=STM32WL3x +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.build.product_line=STM32WL3xx +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.build.variant=STM32WL3x/WL33C(8-B-C)Vx(X) +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.build.variant_h=variant_NUCLEO_WL33CCx.h +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.build.st_extra_flags=-D{build.product_line} {build.xSerial} -D__CORTEX_SC=0 +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.openocd.target=stm32wl3x +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32WL3x/STM32WL33.svd +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.upload.address=0x10040000 +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.upload.mode=hwRstPulse +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.upload.start=0x10000000 +Nucleo_64.menu.pnum.NUCLEO_WL33CC2.upload.parity=none + # NUCLEO_WL55JC1 board Nucleo_64.menu.pnum.NUCLEO_WL55JC1=Nucleo WL55JC1 Nucleo_64.menu.pnum.NUCLEO_WL55JC1.node="NOD_WL55JC" diff --git a/cmake/boards_db.cmake b/cmake/boards_db.cmake index 21b853aa93..33a7a8a3cd 100644 --- a/cmake/boards_db.cmake +++ b/cmake/boards_db.cmake @@ -114091,7 +114091,7 @@ target_compile_definitions(NUCLEO_WL33CC1 INTERFACE "ARDUINO_NUCLEO_WL33CC1" "BOARD_NAME=\"NUCLEO_WL33CC1\"" "BOARD_ID=NUCLEO_WL33CC1" - "VARIANT_H=\"variant_NUCLEO_WL33CC1.h\"" + "VARIANT_H=\"variant_NUCLEO_WL33CCx.h\"" ) target_include_directories(NUCLEO_WL33CC1 INTERFACE ${CMAKE_CURRENT_LIST_DIR}/../system/STM32WL3x @@ -114152,6 +114152,88 @@ target_compile_options(NUCLEO_WL33CC1_xusb_HSFS INTERFACE "SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS" ) +# NUCLEO_WL33CC2 +# ----------------------------------------------------------------------------- + +set(NUCLEO_WL33CC2_VARIANT_PATH "${CMAKE_CURRENT_LIST_DIR}/../variants/STM32WL3x/WL33C(8-B-C)Vx(X)") +set(NUCLEO_WL33CC2_MAXSIZE 262144) +set(NUCLEO_WL33CC2_MAXDATASIZE 32768) +set(NUCLEO_WL33CC2_MCU cortex-m0plus) +set(NUCLEO_WL33CC2_FPCONF "-") +add_library(NUCLEO_WL33CC2 INTERFACE) +target_compile_options(NUCLEO_WL33CC2 INTERFACE + "SHELL:-DSTM32WL3xx -D__CORTEX_SC=0" + "SHELL:" + "SHELL:" + "SHELL: " + -mcpu=${NUCLEO_WL33CC2_MCU} +) +target_compile_definitions(NUCLEO_WL33CC2 INTERFACE + "STM32WL3x" + "ARDUINO_NUCLEO_WL33CC2" + "BOARD_NAME=\"NUCLEO_WL33CC2\"" + "BOARD_ID=NUCLEO_WL33CC2" + "VARIANT_H=\"variant_NUCLEO_WL33CCx.h\"" +) +target_include_directories(NUCLEO_WL33CC2 INTERFACE + ${CMAKE_CURRENT_LIST_DIR}/../system/STM32WL3x + ${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32WL3x_HAL_Driver/Inc + ${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32WL3x_HAL_Driver/Src + ${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32WL3x/Include/ + ${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32WL3x/Source/Templates/gcc/ + ${NUCLEO_WL33CC2_VARIANT_PATH} +) + +target_link_options(NUCLEO_WL33CC2 INTERFACE + "LINKER:--default-script=${NUCLEO_WL33CC2_VARIANT_PATH}/ldscript.ld" + "LINKER:--defsym=LD_FLASH_OFFSET=0x0" + "LINKER:--defsym=LD_MAX_SIZE=262144" + "LINKER:--defsym=LD_MAX_DATA_SIZE=32768" + "SHELL: " + -mcpu=${NUCLEO_WL33CC2_MCU} +) + +add_library(NUCLEO_WL33CC2_serial_disabled INTERFACE) +target_compile_options(NUCLEO_WL33CC2_serial_disabled INTERFACE + "SHELL:" +) +add_library(NUCLEO_WL33CC2_serial_generic INTERFACE) +target_compile_options(NUCLEO_WL33CC2_serial_generic INTERFACE + "SHELL:-DHAL_UART_MODULE_ENABLED" +) +add_library(NUCLEO_WL33CC2_serial_none INTERFACE) +target_compile_options(NUCLEO_WL33CC2_serial_none INTERFACE + "SHELL:-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE" +) +add_library(NUCLEO_WL33CC2_usb_CDC INTERFACE) +target_compile_options(NUCLEO_WL33CC2_usb_CDC INTERFACE + "SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB" +) +add_library(NUCLEO_WL33CC2_usb_CDCgen INTERFACE) +target_compile_options(NUCLEO_WL33CC2_usb_CDCgen INTERFACE + "SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC" +) +add_library(NUCLEO_WL33CC2_usb_HID INTERFACE) +target_compile_options(NUCLEO_WL33CC2_usb_HID INTERFACE + "SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_HID_COMPOSITE" +) +add_library(NUCLEO_WL33CC2_usb_none INTERFACE) +target_compile_options(NUCLEO_WL33CC2_usb_none INTERFACE + "SHELL:" +) +add_library(NUCLEO_WL33CC2_xusb_FS INTERFACE) +target_compile_options(NUCLEO_WL33CC2_xusb_FS INTERFACE + "SHELL:" +) +add_library(NUCLEO_WL33CC2_xusb_HS INTERFACE) +target_compile_options(NUCLEO_WL33CC2_xusb_HS INTERFACE + "SHELL:-DUSE_USB_HS" +) +add_library(NUCLEO_WL33CC2_xusb_HSFS INTERFACE) +target_compile_options(NUCLEO_WL33CC2_xusb_HSFS INTERFACE + "SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS" +) + # NUCLEO_WL55JC1 # ----------------------------------------------------------------------------- diff --git a/variants/STM32WL3x/WL33C(8-B-C)Vx(X)/CMakeLists.txt b/variants/STM32WL3x/WL33C(8-B-C)Vx(X)/CMakeLists.txt index 0b94dae5d0..074072084f 100644 --- a/variants/STM32WL3x/WL33C(8-B-C)Vx(X)/CMakeLists.txt +++ b/variants/STM32WL3x/WL33C(8-B-C)Vx(X)/CMakeLists.txt @@ -22,7 +22,7 @@ add_library(variant_bin STATIC EXCLUDE_FROM_ALL generic_clock.c PeripheralPins.c variant_generic.cpp - variant_NUCLEO_WL33CC1.cpp + variant_NUCLEO_WL33CCx.cpp ) target_link_libraries(variant_bin PUBLIC variant_usage) diff --git a/variants/STM32WL3x/WL33C(8-B-C)Vx(X)/variant_NUCLEO_WL33CC1.cpp b/variants/STM32WL3x/WL33C(8-B-C)Vx(X)/variant_NUCLEO_WL33CCx.cpp similarity index 95% rename from variants/STM32WL3x/WL33C(8-B-C)Vx(X)/variant_NUCLEO_WL33CC1.cpp rename to variants/STM32WL3x/WL33C(8-B-C)Vx(X)/variant_NUCLEO_WL33CCx.cpp index d9aa6a62b7..bc5995b9a9 100644 --- a/variants/STM32WL3x/WL33C(8-B-C)Vx(X)/variant_NUCLEO_WL33CC1.cpp +++ b/variants/STM32WL3x/WL33C(8-B-C)Vx(X)/variant_NUCLEO_WL33CCx.cpp @@ -10,7 +10,7 @@ * ******************************************************************************* */ -#if defined(ARDUINO_NUCLEO_WL33CC1) +#if defined(ARDUINO_NUCLEO_WL33CC1) || defined(ARDUINO_NUCLEO_WL33CC2) #include "pins_arduino.h" #include "pinmap.h" @@ -112,4 +112,4 @@ WEAK void initVariant(void) #ifdef __cplusplus } #endif -#endif /* ARDUINO_NUCLEO_WL33CC1 */ +#endif /* ARDUINO_NUCLEO_WL33CC1 || ARDUINO_NUCLEO_WL33CC2 */ diff --git a/variants/STM32WL3x/WL33C(8-B-C)Vx(X)/variant_NUCLEO_WL33CC1.h b/variants/STM32WL3x/WL33C(8-B-C)Vx(X)/variant_NUCLEO_WL33CCx.h similarity index 100% rename from variants/STM32WL3x/WL33C(8-B-C)Vx(X)/variant_NUCLEO_WL33CC1.h rename to variants/STM32WL3x/WL33C(8-B-C)Vx(X)/variant_NUCLEO_WL33CCx.h