Skip to content

Commit f919d8c

Browse files
authored
Merge pull request stm32duino#2558 from thernstig/NUCLEO-C071RB
feat: Add variant NUCLEO-C071RB
2 parents 4d577b2 + deaab3c commit f919d8c

File tree

9 files changed

+810
-1
lines changed

9 files changed

+810
-1
lines changed

Diff for: README.md

+1
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
125125
| Status | Device(s) | Name | Release | Notes |
126126
| :----: | :-------: | ---- | :-----: | :---- |
127127
| :green_heart: | STM32C031C6 | [Nucleo C031C6](https://www.st.com/en/evaluation-tools/nucleo-c031c6.html) | *2.5.0* | |
128+
| :yellow_heart: | STM32C071RB | [Nucleo C071RB](https://www.st.com/en/evaluation-tools/nucleo-c071rb.html) | **2.9.0** | |
128129
| :green_heart: | STM32F030R8 | [Nucleo F030R8](http://www.st.com/en/evaluation-tools/nucleo-f030r8.html) | *0.2.0* | |
129130
| :green_heart: | STM32F070RB | [Nucleo F070RB](http://www.st.com/en/evaluation-tools/nucleo-f070rb.html) | *2.0.0* | |
130131
| :green_heart: | STM32F072RB | [Nucleo F072RB](http://www.st.com/en/evaluation-tools/nucleo-f072rb.html) | *1.9.0* | |

Diff for: boards.txt

+14
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,20 @@ Nucleo_64.menu.pnum.NUCLEO_C031C6.build.st_extra_flags=-D{build.product_line} {b
439439
Nucleo_64.menu.pnum.NUCLEO_C031C6.openocd.target=stm32c0x
440440
Nucleo_64.menu.pnum.NUCLEO_C031C6.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32C0xx/STM32C031.svd
441441

442+
# NUCLEO_C071RB board
443+
Nucleo_64.menu.pnum.NUCLEO_C071RB=Nucleo C071RB
444+
Nucleo_64.menu.pnum.NUCLEO_C071RB.node="NOD_C071RB"
445+
Nucleo_64.menu.pnum.NUCLEO_C071RB.upload.maximum_size=131072
446+
Nucleo_64.menu.pnum.NUCLEO_C071RB.upload.maximum_data_size=24576
447+
Nucleo_64.menu.pnum.NUCLEO_C071RB.build.mcu=cortex-m0plus
448+
Nucleo_64.menu.pnum.NUCLEO_C071RB.build.board=NUCLEO_C071RB
449+
Nucleo_64.menu.pnum.NUCLEO_C071RB.build.series=STM32C0xx
450+
Nucleo_64.menu.pnum.NUCLEO_C071RB.build.product_line=STM32C071xx
451+
Nucleo_64.menu.pnum.NUCLEO_C071RB.build.variant=STM32C0xx/C071R(8-B)T
452+
Nucleo_64.menu.pnum.NUCLEO_C071RB.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
453+
Nucleo_64.menu.pnum.NUCLEO_C071RB.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial} -D__CORTEX_SC=0
454+
Nucleo_64.menu.pnum.NUCLEO_C071RB.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32C0xx/STM32C071.svd
455+
442456
# NUCLEO_F030R8 board
443457
Nucleo_64.menu.pnum.NUCLEO_F030R8=Nucleo F030R8
444458
Nucleo_64.menu.pnum.NUCLEO_F030R8.node="NODE_F030R8,NUCLEO"

Diff for: cmake/boards_db.cmake

+82
Original file line numberDiff line numberDiff line change
@@ -102174,6 +102174,88 @@ target_compile_options(NUCLEO_C031C6_xusb_HSFS INTERFACE
102174102174
"SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS"
102175102175
)
102176102176

102177+
# NUCLEO_C071RB
102178+
# -----------------------------------------------------------------------------
102179+
102180+
set(NUCLEO_C071RB_VARIANT_PATH "${CMAKE_CURRENT_LIST_DIR}/../variants/STM32C0xx/C071R(8-B)T")
102181+
set(NUCLEO_C071RB_MAXSIZE 131072)
102182+
set(NUCLEO_C071RB_MAXDATASIZE 24576)
102183+
set(NUCLEO_C071RB_MCU cortex-m0plus)
102184+
set(NUCLEO_C071RB_FPCONF "-")
102185+
add_library(NUCLEO_C071RB INTERFACE)
102186+
target_compile_options(NUCLEO_C071RB INTERFACE
102187+
"SHELL:-DSTM32C071xx -D__CORTEX_SC=0"
102188+
"SHELL:-DCUSTOM_PERIPHERAL_PINS"
102189+
"SHELL:"
102190+
"SHELL: "
102191+
-mcpu=${NUCLEO_C071RB_MCU}
102192+
)
102193+
target_compile_definitions(NUCLEO_C071RB INTERFACE
102194+
"STM32C0xx"
102195+
"ARDUINO_NUCLEO_C071RB"
102196+
"BOARD_NAME=\"NUCLEO_C071RB\""
102197+
"BOARD_ID=NUCLEO_C071RB"
102198+
"VARIANT_H=\"variant_NUCLEO_C071RB.h\""
102199+
)
102200+
target_include_directories(NUCLEO_C071RB INTERFACE
102201+
${CMAKE_CURRENT_LIST_DIR}/../system/STM32C0xx
102202+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32C0xx_HAL_Driver/Inc
102203+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32C0xx_HAL_Driver/Src
102204+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32C0xx/Include/
102205+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32C0xx/Source/Templates/gcc/
102206+
${NUCLEO_C071RB_VARIANT_PATH}
102207+
)
102208+
102209+
target_link_options(NUCLEO_C071RB INTERFACE
102210+
"LINKER:--default-script=${NUCLEO_C071RB_VARIANT_PATH}/ldscript.ld"
102211+
"LINKER:--defsym=LD_FLASH_OFFSET=0x0"
102212+
"LINKER:--defsym=LD_MAX_SIZE=131072"
102213+
"LINKER:--defsym=LD_MAX_DATA_SIZE=24576"
102214+
"SHELL: "
102215+
-mcpu=${NUCLEO_C071RB_MCU}
102216+
)
102217+
102218+
add_library(NUCLEO_C071RB_serial_disabled INTERFACE)
102219+
target_compile_options(NUCLEO_C071RB_serial_disabled INTERFACE
102220+
"SHELL:"
102221+
)
102222+
add_library(NUCLEO_C071RB_serial_generic INTERFACE)
102223+
target_compile_options(NUCLEO_C071RB_serial_generic INTERFACE
102224+
"SHELL:-DHAL_UART_MODULE_ENABLED"
102225+
)
102226+
add_library(NUCLEO_C071RB_serial_none INTERFACE)
102227+
target_compile_options(NUCLEO_C071RB_serial_none INTERFACE
102228+
"SHELL:-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE"
102229+
)
102230+
add_library(NUCLEO_C071RB_usb_CDC INTERFACE)
102231+
target_compile_options(NUCLEO_C071RB_usb_CDC INTERFACE
102232+
"SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB"
102233+
)
102234+
add_library(NUCLEO_C071RB_usb_CDCgen INTERFACE)
102235+
target_compile_options(NUCLEO_C071RB_usb_CDCgen INTERFACE
102236+
"SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC"
102237+
)
102238+
add_library(NUCLEO_C071RB_usb_HID INTERFACE)
102239+
target_compile_options(NUCLEO_C071RB_usb_HID INTERFACE
102240+
"SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_HID_COMPOSITE"
102241+
)
102242+
add_library(NUCLEO_C071RB_usb_none INTERFACE)
102243+
target_compile_options(NUCLEO_C071RB_usb_none INTERFACE
102244+
"SHELL:"
102245+
)
102246+
add_library(NUCLEO_C071RB_xusb_FS INTERFACE)
102247+
target_compile_options(NUCLEO_C071RB_xusb_FS INTERFACE
102248+
"SHELL:"
102249+
)
102250+
add_library(NUCLEO_C071RB_xusb_HS INTERFACE)
102251+
target_compile_options(NUCLEO_C071RB_xusb_HS INTERFACE
102252+
"SHELL:-DUSE_USB_HS"
102253+
)
102254+
add_library(NUCLEO_C071RB_xusb_HSFS INTERFACE)
102255+
target_compile_options(NUCLEO_C071RB_xusb_HSFS INTERFACE
102256+
"SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS"
102257+
)
102258+
102177102259
# NUCLEO_F030R8
102178102260
# -----------------------------------------------------------------------------
102179102261

Diff for: libraries/USBDevice/inc/usbd_conf.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ extern "C" {
7474
#elif defined(STM32G0xx)
7575
#define USB_IRQn USB_UCPD1_2_IRQn
7676
#define USB_IRQHandler USB_UCPD1_2_IRQHandler
77-
#elif defined(STM32H5xx) || defined(STM32U0xx)
77+
#elif defined(STM32C0xx) || defined(STM32H5xx) || defined(STM32U0xx)
7878
#define USB_IRQn USB_DRD_FS_IRQn
7979
#define USB_IRQHandler USB_DRD_FS_IRQHandler
8080
#elif defined(STM32U5xx) && !defined(USB_DRD_FS)

Diff for: system/STM32C0xx/stm32c0xx_hal_conf_default.h

+10
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,12 @@ extern "C" {
4646
#define HAL_EXTI_MODULE_ENABLED
4747
#define HAL_FLASH_MODULE_ENABLED
4848
#define HAL_GPIO_MODULE_ENABLED
49+
#define HAL_HCD_MODULE_ENABLED
4950
#define HAL_I2C_MODULE_ENABLED
5051
#define HAL_I2S_MODULE_ENABLED
5152
#define HAL_IRDA_MODULE_ENABLED
5253
#define HAL_IWDG_MODULE_ENABLED
54+
#define HAL_PCD_MODULE_ENABLED
5355
#define HAL_PWR_MODULE_ENABLED
5456
#define HAL_RCC_MODULE_ENABLED
5557
#define HAL_RTC_MODULE_ENABLED
@@ -248,6 +250,10 @@ in voltage and temperature.*/
248250
#include "stm32c0xx_hal_flash.h"
249251
#endif /* HAL_FLASH_MODULE_ENABLED */
250252

253+
#ifdef HAL_HCD_MODULE_ENABLED
254+
#include "stm32c0xx_hal_hcd.h"
255+
#endif /* HAL_HCD_MODULE_ENABLED */
256+
251257
#ifdef HAL_I2C_MODULE_ENABLED
252258
#include "stm32c0xx_hal_i2c.h"
253259
#endif /* HAL_I2C_MODULE_ENABLED */
@@ -264,6 +270,10 @@ in voltage and temperature.*/
264270
#include "stm32c0xx_hal_iwdg.h"
265271
#endif /* HAL_IWDG_MODULE_ENABLED */
266272

273+
#ifdef HAL_PCD_MODULE_ENABLED
274+
#include "stm32c0xx_hal_pcd.h"
275+
#endif /* HAL_PCD_MODULE_ENABLED */
276+
267277
#ifdef HAL_PWR_MODULE_ENABLED
268278
#include "stm32c0xx_hal_pwr.h"
269279
#endif /* HAL_PWR_MODULE_ENABLED */

Diff for: variants/STM32C0xx/C071R(8-B)T/CMakeLists.txt

+2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ target_link_libraries(variant INTERFACE variant_usage)
2121
add_library(variant_bin STATIC EXCLUDE_FROM_ALL
2222
generic_clock.c
2323
PeripheralPins.c
24+
PeripheralPins_NUCLEO_C071RB.c
2425
variant_generic.cpp
26+
variant_NUCLEO_C071RB.cpp
2527
)
2628
target_link_libraries(variant_bin PUBLIC variant_usage)
2729

0 commit comments

Comments
 (0)