Skip to content

feat: add STM32U3xx support #2674

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 23 commits into from
Mar 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
84debc7
system(u3) add STM32U3xx HAL Drivers to v1.1.0
fpistm Mar 6, 2025
83bb128
system(u3): add STM32U3xx CMSIS Drivers to v1.1.0
fpistm Mar 6, 2025
f35f4d8
system(u3): add STM32U3xx system source files
fpistm Mar 6, 2025
bb9005b
system(u3): update STM32U3xx hal default config
fpistm Mar 6, 2025
f2b946f
core(u3): add top HAL include
fpistm Mar 6, 2025
9cb4726
core(u3): add wrapped files
fpistm Mar 6, 2025
02c5bdc
system(u3): update STM32U3xx hal default config
fpistm Feb 6, 2025
561729c
system(u3): update STM32U3xx system
fpistm Feb 6, 2025
54cb5a2
ci(stm32variant): update new ppe
fpistm Feb 6, 2025
9370ba7
variants(u3): add all generated STM32U3xx generic variant files
fpistm Mar 6, 2025
470e412
chore(u3): GPIO EXTI support
fpistm Feb 6, 2025
3a16a52
chore(u3): backup register support
fpistm Feb 6, 2025
c6d9fe2
chore(u3): TIM IRQ definition
fpistm Feb 6, 2025
181362e
chore(u3): ADC support
fpistm Feb 6, 2025
bb1685b
chore(u3): USB device support
fpistm Feb 6, 2025
19dcc06
chore(u3): add I2C support
fpistm Feb 6, 2025
e037160
chore(u3): add EEPROM support
fpistm Feb 7, 2025
3e90e3a
variant(u3): add U375R(E-G)TxQ and U385RGTxQ generic support
fpistm Feb 6, 2025
ab7f628
variant(u3): add Nucleo U385RG-Q support
fpistm Feb 6, 2025
81ece4e
variant(u3): add U375V(E-G)I and U385VGI generic support
fpistm Feb 13, 2025
02c49bd
chore: update cmake suppport with new series
fpistm Mar 6, 2025
a903e27
CI(stm32variant): fix syswkup list
fpistm Mar 11, 2025
c830618
chore: update variants after script update
fpistm Mar 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 10 additions & 4 deletions CI/update/stm32variant.py
Original file line number Diff line number Diff line change
Expand Up @@ -1231,15 +1231,21 @@ def print_peripheral():
# PinNamesVar.h generation
def manage_syswkup():
if len(syswkup_list) != 0:
# Find the max range of SYS_WKUP
# Find the max range of SYS_WKUP to ensure it doesn't exceed
# the current maximum range of SYS_WKUP used by STM32LowPower
max_range = syswkup_list[-1][2].replace("SYS_WKUP", "")
max_range = int(max_range) if max_range else 1
# F446 start from 0
base_index = 1
if syswkup_list[0][2].replace("SYS_WKUP", "") == "0":
base_index = 0
max_range += 1
syswkup_pins_list = [[] for _ in range(max_range)]
if max_range > 8:
print(
f"Error: SYS_WKUP range exceeds the current maximum range of 8 --> {max_range}."
)
exit(1)
syswkup_pins_list = [[] for _ in range(8)]
for p in syswkup_list:
num = p[2].replace("SYS_WKUP", "")
num = int(num) if num else 1
Expand Down Expand Up @@ -2165,7 +2171,7 @@ def group_by_flash(group_base_list, glist, index_mcu_base):
new_mcu_dirname += key
else:
new_mcu_dirname += f"({key})"
# Handle package with ANPQX
# Handle package with AGNPQSXZ
# One case not manage: [Tx, TxX, Yx]
# Assuming it is not an issue to have non existing mcu
# Ease parsing and shorten directory name
Expand Down Expand Up @@ -2816,7 +2822,7 @@ def manage_repo():
update_regex = re.compile(r"defined\(ARDUINO_GENERIC_.+\)")
board_entry_regex = re.compile(r"(Gen.+\..+variant=STM32.+xx/)\S+")
# P T E
mcu_PE_regex = re.compile(r"([\w])([\w])([ANPQSXZ])?$")
mcu_PE_regex = re.compile(r"([\w])([\w])([AGNPQSXZ])?$")
aggregate_dir()

# Clean temporary dir
Expand Down
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
- [Generic STM32L4 boards](#generic-stm32l4-boards)
- [Generic STM32L5 boards](#generic-stm32l5-boards)
- [Generic STM32U0 boards](#generic-stm32u0-boards)
- [Generic STM32U3 boards](#generic-stm32u3-boards)
- [Generic STM32U5 boards](#generic-stm32u5-boards)
- [Generic STM32WB boards](#generic-stm32wb-boards)
- [Generic STM32WBA boards](#generic-stm32wba-boards)
Expand Down Expand Up @@ -152,6 +153,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
| :green_heart: | STM32L452RE-P | [Nucleo L452RE-P](http://www.st.com/en/evaluation-tools/nucleo-l452re-p.html) | *1.8.0* | |
| :green_heart: | STM32L476RG | [Nucleo L476RG](http://www.st.com/en/evaluation-tools/nucleo-l476rg.html) | *0.1.0* | |
| :green_heart: | STM32U083RC | [Nucleo U083RC](http://www.st.com/en/evaluation-tools/nucleo-u083rc.html) | *2.9.0* | |
| :yellow_heart: | STM32U385RG-Q | [Nucleo-U385RG-Q](https://www.st.com/en/evaluation-tools/nucleo-u385rg-q.html) | **2.10.0** | |
| :green_heart: | STM32WB15CCU | [Nucleo-WB15CC](https://www.st.com/en/evaluation-tools/nucleo-wb15cc.html) | *2.5.0* | |
| :green_heart: | STM32WBA55CGU | Nucleo-WBA55CG | *2.8.0* | |
| :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) |
Expand Down Expand Up @@ -750,6 +752,15 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
| :green_heart: | STM32U073R8<br>STSTM32U073RB<br>STM32U073RC | Generic Board | *2.9.0* | |
| :green_heart: | STM32U083RC | Generic Board | *2.9.0* | |

### Generic STM32U3 boards

| Status | Device(s) | Name | Release | Notes |
| :----: | :-------: | ---- | :-----: | :---- |
| :yellow_heart: | STM32U375RETxQ<br>STM32U375RGTxQ | Generic Board | **2.10.0** | |
| :yellow_heart: | STM32U375VEI<br>STM32U375VGI | Generic Board | **2.10.0** | |
| :yellow_heart: | STM32U385RGTxQ | Generic Board | **2.10.0** | |
| :yellow_heart: | STM32U385VGI | Generic Board | **2.10.0** | |

### Generic STM32U5 boards

| Status | Device(s) | Name | Release | Notes |
Expand Down
199 changes: 199 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -832,6 +832,21 @@ Nucleo_64.menu.pnum.NUCLEO_U083RC.build.st_extra_flags=-D{build.product_line} {b
Nucleo_64.menu.pnum.NUCLEO_U083RC.openocd.target=stm32u0x
Nucleo_64.menu.pnum.NUCLEO_U083RC.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32U0xx/STM32U083.svd

# NUCLEO_U385RG_Q board
Nucleo_64.menu.pnum.NUCLEO_U385RG_Q=Nucleo U385RG-Q
Nucleo_64.menu.pnum.NUCLEO_U385RG_Q.node=NOD_U385RG
Nucleo_64.menu.pnum.NUCLEO_U385RG_Q.upload.maximum_size=1048576
Nucleo_64.menu.pnum.NUCLEO_U385RG_Q.upload.maximum_data_size=262144
Nucleo_64.menu.pnum.NUCLEO_U385RG_Q.build.mcu=cortex-m33
Nucleo_64.menu.pnum.NUCLEO_U385RG_Q.build.fpu=-mfpu=fpv4-sp-d16
Nucleo_64.menu.pnum.NUCLEO_U385RG_Q.build.float-abi=-mfloat-abi=hard
Nucleo_64.menu.pnum.NUCLEO_U385RG_Q.build.board=NUCLEO_U385RG_Q
Nucleo_64.menu.pnum.NUCLEO_U385RG_Q.build.series=STM32U3xx
Nucleo_64.menu.pnum.NUCLEO_U385RG_Q.build.product_line=STM32U385xx
Nucleo_64.menu.pnum.NUCLEO_U385RG_Q.build.variant=STM32U3xx/U375R(E-G)TxQ_U385RGTxQ
#Nucleo_64.menu.pnum.NUCLEO_U385RG_Q.openocd.target=stm32u3x
#Nucleo_64.menu.pnum.NUCLEO_U385RG_Q.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32U3xx/STM32U3.svd

# NUCLEO_WB15CC
Nucleo_64.menu.pnum.NUCLEO_WB15CC=Nucleo WB15CC
Nucleo_64.menu.pnum.NUCLEO_WB15CC.node="NOD_WB15CC"
Expand Down Expand Up @@ -12389,6 +12404,138 @@ GenU0.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
#GenU0.menu.upload_method.OpenOCDDapLink.upload.protocol=cmsis-dap
#GenU0.menu.upload_method.OpenOCDDapLink.upload.tool=openocd_upload

################################################################################
# Generic U3
GenU3.name=Generic STM32U3 series

GenU3.build.core=arduino
GenU3.build.board=GenU3
GenU3.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial}
GenU3.build.mcu=cortex-m33
GenU3.build.fpu=-mfpu=fpv4-sp-d16
GenU3.build.float-abi=-mfloat-abi=hard
GenU3.build.series=STM32U3xx
GenU3.build.flash_offset=0x0
GenU3.upload.maximum_size=0
GenU3.upload.maximum_data_size=0
# GenU3.openocd.target=stm32u3x
GenU3.vid.0=0x0483
GenU3.pid.0=0x5740

# Generic U375RETxQ
GenU3.menu.pnum.GENERIC_U375RETXQ=Generic U375RETxQ
GenU3.menu.pnum.GENERIC_U375RETXQ.upload.maximum_size=524288
GenU3.menu.pnum.GENERIC_U375RETXQ.upload.maximum_data_size=262144
GenU3.menu.pnum.GENERIC_U375RETXQ.build.board=GENERIC_U375RETXQ
GenU3.menu.pnum.GENERIC_U375RETXQ.build.product_line=STM32U375xx
GenU3.menu.pnum.GENERIC_U375RETXQ.build.variant=STM32U3xx/U375R(E-G)TxQ_U385RGTxQ
GenU3.menu.pnum.GENERIC_U375RETXQ.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32U3xx/STM32U3.svd

# Generic U375RGTxQ
GenU3.menu.pnum.GENERIC_U375RGTXQ=Generic U375RGTxQ
GenU3.menu.pnum.GENERIC_U375RGTXQ.upload.maximum_size=1048576
GenU3.menu.pnum.GENERIC_U375RGTXQ.upload.maximum_data_size=262144
GenU3.menu.pnum.GENERIC_U375RGTXQ.build.board=GENERIC_U375RGTXQ
GenU3.menu.pnum.GENERIC_U375RGTXQ.build.product_line=STM32U375xx
GenU3.menu.pnum.GENERIC_U375RGTXQ.build.variant=STM32U3xx/U375R(E-G)TxQ_U385RGTxQ
GenU3.menu.pnum.GENERIC_U375RGTXQ.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32U3xx/STM32U3.svd

# Generic U375VEIx
GenU3.menu.pnum.GENERIC_U375VEIX=Generic U375VEIx
GenU3.menu.pnum.GENERIC_U375VEIX.upload.maximum_size=524288
GenU3.menu.pnum.GENERIC_U375VEIX.upload.maximum_data_size=262144
GenU3.menu.pnum.GENERIC_U375VEIX.build.board=GENERIC_U375VEIX
GenU3.menu.pnum.GENERIC_U375VEIX.build.product_line=STM32U375xx
GenU3.menu.pnum.GENERIC_U375VEIX.build.variant=STM32U3xx/U375V(E-G)I_U385VGI
GenU3.menu.pnum.GENERIC_U375VEIX.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32U3xx/STM32U3.svd

# Generic U375VEIxQ
GenU3.menu.pnum.GENERIC_U375VEIXQ=Generic U375VEIxQ
GenU3.menu.pnum.GENERIC_U375VEIXQ.upload.maximum_size=524288
GenU3.menu.pnum.GENERIC_U375VEIXQ.upload.maximum_data_size=262144
GenU3.menu.pnum.GENERIC_U375VEIXQ.build.board=GENERIC_U375VEIXQ
GenU3.menu.pnum.GENERIC_U375VEIXQ.build.product_line=STM32U375xx
GenU3.menu.pnum.GENERIC_U375VEIXQ.build.variant=STM32U3xx/U375V(E-G)IxQ_U385VGIxQ
GenU3.menu.pnum.GENERIC_U375VEIXQ.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32U3xx/STM32U3.svd

# Generic U375VGIx
GenU3.menu.pnum.GENERIC_U375VGIX=Generic U375VGIx
GenU3.menu.pnum.GENERIC_U375VGIX.upload.maximum_size=1048576
GenU3.menu.pnum.GENERIC_U375VGIX.upload.maximum_data_size=262144
GenU3.menu.pnum.GENERIC_U375VGIX.build.board=GENERIC_U375VGIX
GenU3.menu.pnum.GENERIC_U375VGIX.build.product_line=STM32U375xx
GenU3.menu.pnum.GENERIC_U375VGIX.build.variant=STM32U3xx/U375V(E-G)I_U385VGI
GenU3.menu.pnum.GENERIC_U375VGIX.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32U3xx/STM32U3.svd

# Generic U375VGIxQ
GenU3.menu.pnum.GENERIC_U375VGIXQ=Generic U375VGIxQ
GenU3.menu.pnum.GENERIC_U375VGIXQ.upload.maximum_size=1048576
GenU3.menu.pnum.GENERIC_U375VGIXQ.upload.maximum_data_size=262144
GenU3.menu.pnum.GENERIC_U375VGIXQ.build.board=GENERIC_U375VGIXQ
GenU3.menu.pnum.GENERIC_U375VGIXQ.build.product_line=STM32U375xx
GenU3.menu.pnum.GENERIC_U375VGIXQ.build.variant=STM32U3xx/U375V(E-G)IxQ_U385VGIxQ
GenU3.menu.pnum.GENERIC_U375VGIXQ.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32U3xx/STM32U3.svd

# Generic U385RGTxQ
GenU3.menu.pnum.GENERIC_U385RGTXQ=Generic U385RGTxQ
GenU3.menu.pnum.GENERIC_U385RGTXQ.upload.maximum_size=1048576
GenU3.menu.pnum.GENERIC_U385RGTXQ.upload.maximum_data_size=262144
GenU3.menu.pnum.GENERIC_U385RGTXQ.build.board=GENERIC_U385RGTXQ
GenU3.menu.pnum.GENERIC_U385RGTXQ.build.product_line=STM32U385xx
GenU3.menu.pnum.GENERIC_U385RGTXQ.build.variant=STM32U3xx/U375R(E-G)TxQ_U385RGTxQ
GenU3.menu.pnum.GENERIC_U385RGTXQ.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32U3xx/STM32U3.svd

# Generic U385VGIx
GenU3.menu.pnum.GENERIC_U385VGIX=Generic U385VGIx
GenU3.menu.pnum.GENERIC_U385VGIX.upload.maximum_size=1048576
GenU3.menu.pnum.GENERIC_U385VGIX.upload.maximum_data_size=262144
GenU3.menu.pnum.GENERIC_U385VGIX.build.board=GENERIC_U385VGIX
GenU3.menu.pnum.GENERIC_U385VGIX.build.product_line=STM32U385xx
GenU3.menu.pnum.GENERIC_U385VGIX.build.variant=STM32U3xx/U375V(E-G)I_U385VGI
GenU3.menu.pnum.GENERIC_U385VGIX.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32U3xx/STM32U3.svd

# Generic U385VGIxQ
GenU3.menu.pnum.GENERIC_U385VGIXQ=Generic U385VGIxQ
GenU3.menu.pnum.GENERIC_U385VGIXQ.upload.maximum_size=1048576
GenU3.menu.pnum.GENERIC_U385VGIXQ.upload.maximum_data_size=262144
GenU3.menu.pnum.GENERIC_U385VGIXQ.build.board=GENERIC_U385VGIXQ
GenU3.menu.pnum.GENERIC_U385VGIXQ.build.product_line=STM32U385xx
GenU3.menu.pnum.GENERIC_U385VGIXQ.build.variant=STM32U3xx/U375V(E-G)IxQ_U385VGIxQ
GenU3.menu.pnum.GENERIC_U385VGIXQ.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32U3xx/STM32U3.svd

# Upload menu
GenU3.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
GenU3.menu.upload_method.swdMethod.upload.protocol=swd
GenU3.menu.upload_method.swdMethod.upload.options=
GenU3.menu.upload_method.swdMethod.upload.tool=stm32CubeProg

GenU3.menu.upload_method.jlinkMethod=STM32CubeProgrammer (J-Link)
GenU3.menu.upload_method.jlinkMethod.upload.protocol=jlink
GenU3.menu.upload_method.jlinkMethod.upload.options=
GenU3.menu.upload_method.jlinkMethod.upload.tool=stm32CubeProg

GenU3.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
GenU3.menu.upload_method.serialMethod.upload.protocol=serial
GenU3.menu.upload_method.serialMethod.upload.options=-c {serial.port.file}
GenU3.menu.upload_method.serialMethod.upload.tool=stm32CubeProg

GenU3.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
GenU3.menu.upload_method.dfuMethod.upload.protocol=dfu
GenU3.menu.upload_method.dfuMethod.upload.options=-v {upload.vid} -p {upload.pid}
GenU3.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg

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

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

#GenU3.menu.upload_method.OpenOCDDapLink=OpenOCD DapLink (SWD)
#GenU3.menu.upload_method.OpenOCDDapLink.upload.protocol=cmsis-dap
#GenU3.menu.upload_method.OpenOCDDapLink.upload.tool=openocd_upload

################################################################################
# Generic U5
GenU5.name=Generic STM32U5 series
Expand Down Expand Up @@ -14239,6 +14386,11 @@ GenU0.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE
GenU0.menu.xserial.disabled=Disabled (no Serial support)
GenU0.menu.xserial.disabled.build.xSerial=

GenU3.menu.xserial.generic=Enabled (generic 'Serial')
GenU3.menu.xserial.none=Enabled (no generic 'Serial')
GenU3.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE
GenU3.menu.xserial.disabled=Disabled (no Serial support)

GenU5.menu.xserial.generic=Enabled (generic 'Serial')
GenU5.menu.xserial.none=Enabled (no generic 'Serial')
GenU5.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE
Expand Down Expand Up @@ -14579,6 +14731,14 @@ GenU0.menu.usb.CDC.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DDISABLE_G
GenU0.menu.usb.HID=HID (keyboard and mouse)
GenU0.menu.usb.HID.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE

GenU3.menu.usb.none=None
GenU3.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART)
GenU3.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC
GenU3.menu.usb.CDC=CDC (no generic 'Serial')
GenU3.menu.usb.CDC.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB
GenU3.menu.usb.HID=HID (keyboard and mouse)
GenU3.menu.usb.HID.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE

GenU5.menu.usb.none=None
GenU5.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART)
GenU5.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC
Expand Down Expand Up @@ -15141,6 +15301,27 @@ GenU0.menu.opt.ogstd.build.flags.optimize=-Og
GenU0.menu.opt.o0std=No Optimization (-O0)
GenU0.menu.opt.o0std.build.flags.optimize=-O0

GenU3.menu.opt.osstd=Smallest (-Os default)
GenU3.menu.opt.osstd.build.flags.optimize=-Os
GenU3.menu.opt.oslto=Smallest (-Os) with LTO
GenU3.menu.opt.oslto.build.flags.optimize=-Os -flto
GenU3.menu.opt.o1std=Fast (-O1)
GenU3.menu.opt.o1std.build.flags.optimize=-O1
GenU3.menu.opt.o1lto=Fast (-O1) with LTO
GenU3.menu.opt.o1lto.build.flags.optimize=-O1 -flto
GenU3.menu.opt.o2std=Faster (-O2)
GenU3.menu.opt.o2std.build.flags.optimize=-O2
GenU3.menu.opt.o2lto=Faster (-O2) with LTO
GenU3.menu.opt.o2lto.build.flags.optimize=-O2 -flto
GenU3.menu.opt.o3std=Fastest (-O3)
GenU3.menu.opt.o3std.build.flags.optimize=-O3
GenU3.menu.opt.o3lto=Fastest (-O3) with LTO
GenU3.menu.opt.o3lto.build.flags.optimize=-O3 -flto
GenU3.menu.opt.ogstd=Debug (-Og)
GenU3.menu.opt.ogstd.build.flags.optimize=-Og
GenU3.menu.opt.o0std=No Optimization (-O0)
GenU3.menu.opt.o0std.build.flags.optimize=-O0

GenU5.menu.opt.osstd=Smallest (-Os default)
GenU5.menu.opt.osstd.build.flags.optimize=-Os
GenU5.menu.opt.oslto=Smallest (-Os) with LTO
Expand Down Expand Up @@ -15635,6 +15816,14 @@ GenU0.menu.dbg.enable_log.build.flags.debug=
GenU0.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenU0.menu.dbg.enable_all.build.flags.debug=-g

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

GenU5.menu.dbg.none=None
GenU5.menu.dbg.enable_sym=Symbols Enabled (-g)
GenU5.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
Expand Down Expand Up @@ -15984,6 +16173,16 @@ GenU0.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float
GenU0.menu.rtlib.full=Newlib Standard
GenU0.menu.rtlib.full.build.flags.ldspecs=

GenU3.menu.rtlib.nano=Newlib Nano (default)
GenU3.menu.rtlib.nanofp=Newlib Nano + Float Printf
GenU3.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
GenU3.menu.rtlib.nanofs=Newlib Nano + Float Scanf
GenU3.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
GenU3.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
GenU3.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
GenU3.menu.rtlib.full=Newlib Standard
GenU3.menu.rtlib.full.build.flags.ldspecs=

GenU5.menu.rtlib.nano=Newlib Nano (default)
GenU5.menu.rtlib.nanofp=Newlib Nano + Float Printf
GenU5.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
Expand Down
Loading