Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -874,6 +874,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
| :----: | :-------: | ---- | :-----: | :---- |
| :green_heart: | STM32L4R5ZIYx | [Swan R5](https://blues.com/products/swan) | *2.1.0* | |
| :green_heart: | STM32L433CC | [Cygnet](https://blues.com/products) | *2.8.0* | |
| :yellow_heart: | STM32U575CITx | [Heron](https://blues.com/products) | *2.12.0* | |

### [Elecgator](https://www.elecgator.com/) boards

Expand Down
67 changes: 42 additions & 25 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14254,41 +14254,58 @@ Blues.menu.pnum.CYGNET.pid.0=0x0003
Blues.menu.pnum.CYGNET.openocd.target=stm32l4x
Blues.menu.pnum.CYGNET.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32L4xx/STM32L433.svd

# Heron board
Blues.menu.pnum.HERON=Heron
Blues.menu.pnum.HERON.upload.maximum_size=2097152
Blues.menu.pnum.HERON.upload.maximum_data_size=786432
Blues.menu.pnum.HERON.build.mcu=cortex-m33
Blues.menu.pnum.HERON.build.fpu=-mfpu=fpv5-sp-d16
Blues.menu.pnum.HERON.build.float-abi=-mfloat-abi=hard
Blues.menu.pnum.HERON.build.board=HERON
Blues.menu.pnum.HERON.build.series=STM32U5xx
Blues.menu.pnum.HERON.build.product_line=STM32U575xx
Blues.menu.pnum.HERON.build.variant=STM32U5xx/U575C(G-I)(T-U)_U585CI(T-U)
Blues.menu.pnum.HERON.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
Blues.menu.pnum.HERON.vid.0=0x30A4
Blues.menu.pnum.HERON.pid.0=0x0004
Blues.menu.pnum.HERON.openocd.target=stm32u5x
Blues.menu.pnum.HERON.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32U5xx/STM32U575.svd

# Upload menu
Blues.menu.upload_method.OpenOCDSTLink=OpenOCD STLink (SWD)
Blues.menu.upload_method.OpenOCDSTLink.upload.protocol=stlink
Blues.menu.upload_method.OpenOCDSTLink.upload.tool=openocd_upload

Blues.menu.upload_method.OpenOCDDapLink=OpenOCD DapLink (SWD)
Blues.menu.upload_method.OpenOCDDapLink.upload.protocol=cmsis-dap
Blues.menu.upload_method.OpenOCDDapLink.upload.tool=openocd_upload
Blues.menu.upload_method.OpenOCDDapLink.debug.server.openocd.scripts.0=interface/cmsis-dap.cfg
Blues.menu.upload_method.OpenOCDDapLink.debug.server.openocd.scripts.1={runtime.platform.path}/debugger/select_swd.cfg

Blues.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
Blues.menu.upload_method.swdMethod.upload.protocol=swd
Blues.menu.upload_method.swdMethod.upload.options=-a {upload.address} -m {upload.mode} -s {upload.start}
Blues.menu.upload_method.swdMethod.upload.tool=stm32CubeProg

Blues.menu.upload_method.jlinkMethod=STM32CubeProgrammer (J-Link)
Blues.menu.upload_method.jlinkMethod.upload.protocol=jlink
Blues.menu.upload_method.jlinkMethod.upload.options=-a {upload.address} -s {upload.start}
Blues.menu.upload_method.jlinkMethod.upload.tool=stm32CubeProg
Blues.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
Blues.menu.upload_method.dfuMethod.upload.protocol=dfu
Blues.menu.upload_method.dfuMethod.upload.options=-v {upload.vid} -p {upload.pid} -a {upload.address} -s {upload.start}
Blues.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg

Blues.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
Blues.menu.upload_method.serialMethod.upload.protocol=serial
Blues.menu.upload_method.serialMethod.upload.options=-c {serial.port.file} -a {upload.address} -s {upload.start} --parity {upload.parity}
Blues.menu.upload_method.serialMethod.upload.tool=stm32CubeProg

Blues.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
Blues.menu.upload_method.dfuMethod.upload.protocol=dfu
Blues.menu.upload_method.dfuMethod.upload.options=-v {upload.vid} -p {upload.pid} -a {upload.address} -s {upload.start}
Blues.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
Blues.menu.upload_method.jlinkMethod=STM32CubeProgrammer (J-Link)
Blues.menu.upload_method.jlinkMethod.upload.protocol=jlink
Blues.menu.upload_method.jlinkMethod.upload.options=-a {upload.address} -s {upload.start}
Blues.menu.upload_method.jlinkMethod.upload.tool=stm32CubeProg

Blues.menu.upload_method.bmpMethod=BMP (Black Magic Probe)
Blues.menu.upload_method.bmpMethod.upload.protocol=gdb_bmp
Blues.menu.upload_method.bmpMethod.upload.tool=bmp_upload

Blues.menu.upload_method.OpenOCDSTLink=OpenOCD STLink (SWD)
Blues.menu.upload_method.OpenOCDSTLink.upload.protocol=stlink
Blues.menu.upload_method.OpenOCDSTLink.upload.tool=openocd_upload

Blues.menu.upload_method.OpenOCDDapLink=OpenOCD DapLink (SWD)
Blues.menu.upload_method.OpenOCDDapLink.upload.protocol=cmsis-dap
Blues.menu.upload_method.OpenOCDDapLink.upload.tool=openocd_upload
Blues.menu.upload_method.OpenOCDDapLink.debug.server.openocd.scripts.0=interface/cmsis-dap.cfg
Blues.menu.upload_method.OpenOCDDapLink.debug.server.openocd.scripts.1={runtime.platform.path}/debugger/select_swd.cfg

################################################################################
# Elecgator boards

Expand Down Expand Up @@ -16365,9 +16382,13 @@ GenWL.menu.opt.o0std.build.flags.optimize=-O0
3dprinter.menu.opt.o0std=No Optimization (-O0)
3dprinter.menu.opt.o0std.build.flags.optimize=-O0

Blues.menu.opt.ogstd=Debug (-Og)
Blues.menu.opt.ogstd.build.flags.optimize=-Og
Blues.menu.opt.osstd=Smallest (-Os default)
Blues.menu.opt.oslto=Smallest (-Os) with LTO
Blues.menu.opt.oslto.build.flags.optimize=-Os -flto
Blues.menu.opt.o0std=No Optimization (-O0)
Blues.menu.opt.o0std.build.flags.optimize=-O0
Blues.menu.opt.o1std=Fast (-O1)
Blues.menu.opt.o1std.build.flags.optimize=-O1
Blues.menu.opt.o1lto=Fast (-O1) with LTO
Expand All @@ -16380,10 +16401,6 @@ Blues.menu.opt.o3std=Fastest (-O3)
Blues.menu.opt.o3std.build.flags.optimize=-O3
Blues.menu.opt.o3lto=Fastest (-O3) with LTO
Blues.menu.opt.o3lto.build.flags.optimize=-O3 -flto
Blues.menu.opt.ogstd=Debug (-Og)
Blues.menu.opt.ogstd.build.flags.optimize=-Og
Blues.menu.opt.o0std=No Optimization (-O0)
Blues.menu.opt.o0std.build.flags.optimize=-O0

Elecgator.menu.opt.osstd=Smallest (-Os default)
Elecgator.menu.opt.oslto=Smallest (-Os) with LTO
Expand Down Expand Up @@ -16822,13 +16839,13 @@ GenWL.menu.dbg.enable_all.build.flags.debug=-g
3dprinter.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
3dprinter.menu.dbg.enable_all.build.flags.debug=-g

Blues.menu.dbg.none=None
Blues.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
Blues.menu.dbg.enable_all.build.flags.debug=-g
Blues.menu.dbg.enable_sym=Symbols Enabled (-g)
Blues.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
Blues.menu.dbg.enable_log=Core logs Enabled
Blues.menu.dbg.enable_log.build.flags.debug=
Blues.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
Blues.menu.dbg.enable_all.build.flags.debug=-g
Blues.menu.dbg.none=None

Elecgator.menu.dbg.none=None
Elecgator.menu.dbg.enable_sym=Symbols Enabled (-g)
Expand Down
85 changes: 85 additions & 0 deletions cmake/boards_db.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -109054,6 +109054,91 @@ target_compile_options(GENERIC_WLE5JCIX_serial_none INTERFACE
"SHELL:-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE"
)

# HERON
# -----------------------------------------------------------------------------

set(HERON_VARIANT_PATH "${CMAKE_CURRENT_LIST_DIR}/../variants/STM32U5xx/U575C(G-I)(T-U)_U585CI(T-U)")
set(HERON_MAXSIZE 2097152)
set(HERON_MAXDATASIZE 786432)
set(HERON_MCU cortex-m33)
set(HERON_FPU_CONF "fpv5-sp-d16")
set(HERON_FPU_ABI "hard")
set(HERON_FPCONF "${HERON_FPU_CONF}-${HERON_FPU_ABI}")
set(HERON_PID 0x0004)
add_library(HERON INTERFACE)
target_compile_options(HERON INTERFACE
"SHELL:-DSTM32U575xx"
"SHELL:-DCUSTOM_PERIPHERAL_PINS"
"SHELL:"
"SHELL:-mfpu=${HERON_FPU_CONF} -mfloat-abi=${HERON_FPU_ABI}"
-mcpu=${HERON_MCU}
)
target_compile_definitions(HERON INTERFACE
"STM32U5xx"
"ARDUINO_HERON"
"BOARD_NAME=\"HERON\""
"BOARD_ID=HERON"
"VARIANT_H=\"variant_HERON.h\""
)
target_include_directories(HERON INTERFACE
${CMAKE_CURRENT_LIST_DIR}/../system/STM32U5xx
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32U5xx_HAL_Driver/Inc
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32U5xx_HAL_Driver/Src
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32U5xx/Include/
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32U5xx/Source/Templates/gcc/
${HERON_VARIANT_PATH}
)

target_link_options(HERON INTERFACE
"LINKER:--default-script=${HERON_VARIANT_PATH}/ldscript.ld"
"LINKER:--defsym=LD_FLASH_OFFSET=0x0"
"LINKER:--defsym=LD_MAX_SIZE=${HERON_MAXSIZE}"
"LINKER:--defsym=LD_MAX_DATA_SIZE=${HERON_MAXDATASIZE}"
"SHELL:-mfpu=${HERON_FPU_CONF} -mfloat-abi=${HERON_FPU_ABI}"
-mcpu=${HERON_MCU}
)

add_library(HERON_serial_disabled INTERFACE)
target_compile_options(HERON_serial_disabled INTERFACE
"SHELL:"
)
add_library(HERON_serial_generic INTERFACE)
target_compile_options(HERON_serial_generic INTERFACE
"SHELL:-DHAL_UART_MODULE_ENABLED"
)
add_library(HERON_serial_none INTERFACE)
target_compile_options(HERON_serial_none INTERFACE
"SHELL:-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE"
)
add_library(HERON_usb_CDC INTERFACE)
target_compile_options(HERON_usb_CDC INTERFACE
"SHELL:-DUSBCON -DUSBD_VID=0x30A4 -DUSBD_PID=${HERON_PID} -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB"
)
add_library(HERON_usb_CDCgen INTERFACE)
target_compile_options(HERON_usb_CDCgen INTERFACE
"SHELL:-DUSBCON -DUSBD_VID=0x30A4 -DUSBD_PID=${HERON_PID} -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC"
)
add_library(HERON_usb_HID INTERFACE)
target_compile_options(HERON_usb_HID INTERFACE
"SHELL:-DUSBCON -DUSBD_VID=0x30A4 -DUSBD_PID=${HERON_PID} -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_HID_COMPOSITE"
)
add_library(HERON_usb_none INTERFACE)
target_compile_options(HERON_usb_none INTERFACE
"SHELL:"
)
add_library(HERON_xusb_FS INTERFACE)
target_compile_options(HERON_xusb_FS INTERFACE
"SHELL:"
)
add_library(HERON_xusb_HS INTERFACE)
target_compile_options(HERON_xusb_HS INTERFACE
"SHELL:-DUSE_USB_HS"
)
add_library(HERON_xusb_HSFS INTERFACE)
target_compile_options(HERON_xusb_HSFS INTERFACE
"SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS"
)

# HY_TINYSTM103TB
# -----------------------------------------------------------------------------

Expand Down
1 change: 1 addition & 0 deletions tools/platformio/boards_remap.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
"bw_swan_r5": "SWAN_R5",
"blues_swan_r5": "SWAN_R5",
"blues_cygnet": "CYGNET",
"blues_heron": "HERON",
"disco_b_g431b_esc1": "B_G431B_ESC1",
"disco_b_u585i_iot02a": "B_U585I_IOT02A",
"nucleo_wl55jc": "NUCLEO_WL55JC1"
Expand Down
2 changes: 2 additions & 0 deletions variants/STM32U5xx/U575C(G-I)(T-U)_U585CI(T-U)/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,10 @@ add_library(variant_bin STATIC EXCLUDE_FROM_ALL
generic_clock.c
PeripheralPins.c
PeripheralPins_DEVKIT_IOT_CONTINUUM.c
PeripheralPins_HERON.c
variant_DEVKIT_IOT_CONTINUUM.cpp
variant_generic.cpp
variant_HERON.cpp
)
target_link_libraries(variant_bin PUBLIC variant_usage)

Expand Down
Loading