♻️ Refactor STM32 ini files (#22377)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2.0.x
Katelyn Schiesser 3 years ago committed by Scott Lahteine
parent 6b73b6c966
commit 7773504afa

@ -2,7 +2,7 @@
"build": {
"core": "stm32",
"cpu": "cortex-m4",
"extra_flags": "-DSTM32F401xx",
"extra_flags": "-DSTM32F401xx -DARDUINO_STEVAL",
"f_cpu": "84000000L",
"hwids": [
[

@ -2,7 +2,7 @@
"build": {
"core": "stm32",
"cpu": "cortex-m4",
"extra_flags": "-DSTM32F407xx",
"extra_flags": "-DSTM32F407xx -DARDUINO_BLACK_F407VE",
"f_cpu": "168000000L",
"hwids": [
[

@ -0,0 +1,41 @@
#
# Marlin Firmware
# PlatformIO Configuration File
#
####################################
#
# HAL/STM32 Common Environments
#
####################################
[common_stm32]
platform = ststm32@~12.1
board_build.core = stm32
build_flags = ${common.build_flags}
-std=gnu++14
-DUSBCON -DUSBD_USE_CDC
-DTIM_IRQ_PRIO=13
-DADC_RESOLUTION=12
build_unflags = -std=gnu++11
src_filter = ${common.default_src_filter} +<src/HAL/STM32> +<src/HAL/shared/backtrace>
extra_scripts = ${common.extra_scripts}
pre:buildroot/share/PlatformIO/scripts/stm32_serialbuffer.py
#
# STM32 board based on a variant.
#
[stm32_variant]
extends = common_stm32
extra_scripts = ${common_stm32.extra_scripts}
pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
buildroot/share/PlatformIO/scripts/offset_and_rename.py
#
# USB Flash Drive mix-ins for STM32
#
[stm_flash_drive]
platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/usb-host-msc-cdc-msc-3.zip
build_flags = ${common_stm32.build_flags}
-DHAL_PCD_MODULE_ENABLED -DHAL_HCD_MODULE_ENABLED
-DUSBHOST -DUSBH_IRQ_PRIO=3 -DUSBH_IRQ_SUBPRIO=4

@ -27,8 +27,8 @@ platform = ${common_stm32.platform}
extends = common_stm32
board = marlin_malyanM200v2
build_flags = ${common_stm32.build_flags} -DHAL_PCD_MODULE_ENABLED
-O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing
-DCUSTOM_STARTUP_FILE
-O2 -ffreestanding -fsigned-char -fno-move-loop-invariants
-fno-strict-aliasing -DCUSTOM_STARTUP_FILE
#
# Malyan M200 v2 (STM32F070CB)
@ -38,7 +38,8 @@ platform = ${common_stm32.platform}
extends = common_stm32
board = malyanm200_f070cb
build_flags = ${common_stm32.build_flags}
-DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB -DHAL_UART_MODULE_ENABLED -DCUSTOM_STARTUP_FILE
-DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB
-DHAL_UART_MODULE_ENABLED -DCUSTOM_STARTUP_FILE
#
# Malyan M300 (STM32F070CB)
@ -48,5 +49,6 @@ platform = ${common_stm32.platform}
extends = common_stm32
board = malyanm300_f070cb
build_flags = ${common_stm32.build_flags}
-DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB -DHAL_UART_MODULE_ENABLED
-DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB
-DHAL_UART_MODULE_ENABLED
src_filter = ${common.default_src_filter} +<src/HAL/STM32>

@ -10,43 +10,21 @@
# Naming Example: STM32F103RCT6
#
# F : Foundation (sometimes High Performance F2/F4)
# 1 : Cortex M1 core
# 1 : Cortex M3 core
# 03 : Line/Features
# R : 64 or 66 pins (V:100, Z:144, I:176)
# C : 256KB Flash-memory (D:384KB, E:512KB, G:1024KB)
# R : 64 or 66 pins (T:36, C:48, V:100, Z:144, I:176)
# C : 256KB Flash-memory (B: 128KB, D:384KB, E:512KB, G:1024KB)
# T : LQFP package
# 6 : -40...85°C (7: ...105°C)
#
#################################
#
# HAL/STM32 Base Environment values
#
[common_stm32]
platform = ststm32@~12.1
build_flags = ${common.build_flags}
-std=gnu++14
-DUSBCON -DUSBD_USE_CDC
-DTIM_IRQ_PRIO=13
-DADC_RESOLUTION=12
build_unflags = -std=gnu++11
src_filter = ${common.default_src_filter} +<src/HAL/STM32> +<src/HAL/shared/backtrace>
extra_scripts = ${common.extra_scripts}
pre:buildroot/share/PlatformIO/scripts/stm32_serialbuffer.py
[stm32f1_variant]
extra_scripts = ${common_stm32.extra_scripts}
pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
buildroot/share/PlatformIO/scripts/offset_and_rename.py
[common_STM32F103RC]
platform = ${common_stm32.platform}
extends = common_stm32
[common_STM32F103RC_variant]
extends = stm32_variant
board = genericSTM32F103RC
monitor_speed = 115200
board_build.core = stm32
board_build.variant = MARLIN_F103Rx
extra_scripts = ${stm32f1_variant.extra_scripts}
build_flags = ${stm32_variant.build_flags} -DDEBUG_LEVEL=0
monitor_speed = 115200
#
# STM32F103RE
@ -83,22 +61,22 @@ monitor_speed = 115200
#
[env:STM32F103RC_btt]
platform = ${common_stm32.platform}
extends = common_STM32F103RC
build_flags = ${common_stm32.build_flags} -DDEBUG_LEVEL=0 -DTIMER_SERVO=TIM5
extends = common_STM32F103RC_variant
build_flags = ${common_STM32F103RC_variant.build_flags}
-DTIMER_SERVO=TIM5
board_build.offset = 0x7000
board_upload.offset_address = 0x08007000
[env:STM32F103RC_btt_USB]
extends = env:STM32F103RC_btt
platform = ${common_stm32.platform}
platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/usb-host-msc-cdc-msc-3.zip
build_unflags = ${common_stm32.build_unflags} -DUSBD_USE_CDC
build_flags = ${env:STM32F103RC_btt.build_flags} ${env:stm32_flash_drive.build_flags}
-DUSBCON
extends = env:STM32F103RC_btt
platform_packages = ${stm_flash_drive.platform_packages}
build_flags = ${env:STM32F103RC_btt.build_flags}
-DUSE_USB_FS
-DUSBD_IRQ_PRIO=5
-DUSBD_IRQ_SUBPRIO=6
-DUSBD_USE_CDC_MSC
build_unflags = ${common_stm32.build_unflags} -DUSBD_USE_CDC
#
# MKS Robin (STM32F103ZET6)
@ -106,50 +84,51 @@ build_flags = ${env:STM32F103RC_btt.build_flags} ${env:stm32_flash_drive.b
#
[env:mks_robin]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = genericSTM32F103ZE
board_build.core = stm32
board_build.variant = MARLIN_F103Zx
board_build.offset = 0x7000
board_build.encrypt = Robin.bin
build_flags = ${common_stm32.build_flags}
board_build.offset = 0x7000
build_flags = ${stm32_variant.build_flags}
-DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
build_unflags = ${common_stm32.build_unflags}
build_unflags = ${stm32_variant.build_unflags}
-DUSBCON -DUSBD_USE_CDC
extra_scripts = ${stm32f1_variant.extra_scripts}
lib_deps =
#
# MKS Robin E3/E3D (STM32F103RCT6) with TMC2209
#
[env:mks_robin_e3]
platform = ${common_stm32.platform}
extends = common_STM32F103RC
build_flags = ${common_stm32.build_flags} -DDEBUG_LEVEL=0 -DTIMER_SERVO=TIM5 -DDEFAULT_SPI=3
build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
monitor_speed = 115200
board_build.offset = 0x5000
extends = common_STM32F103RC_variant
board_build.encrypt = Robin_e3.bin
board_build.offset = 0x5000
board_upload.offset_address = 0x08005000
build_flags = ${common_STM32F103RC_variant.build_flags}
-DTIMER_SERVO=TIM5 -DDEFAULT_SPI=3
build_unflags = ${common_STM32F103RC_variant.build_unflags}
-DUSBCON -DUSBD_USE_CDC
monitor_speed = 115200
debug_tool = stlink
extra_scripts = ${common_STM32F103RC.extra_scripts}
#
# Creality (STM32F103RET6)
#
[env:STM32F103RET6_creality]
platform = ${common_stm32.platform}
extends = common_stm32
build_flags = ${common_stm32.build_flags} -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED -DSS_TIMER=4 -DTIMER_SERVO=TIM5 -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8
extends = stm32_variant
board = genericSTM32F103RE
monitor_speed = 115200
board_build.core = stm32
board_build.variant = MARLIN_F103Rx
board_build.offset = 0x7000
board_upload.offset_address = 0x08007000
build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
extra_scripts = ${stm32f1_variant.extra_scripts}
build_flags = ${stm32_variant.build_flags}
-DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED
-DSS_TIMER=4 -DTIMER_SERVO=TIM5
-DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8
build_unflags = ${stm32_variant.build_unflags}
-DUSBCON -DUSBD_USE_CDC
extra_scripts = ${stm32_variant.extra_scripts}
pre:buildroot/share/PlatformIO/scripts/random-bin.py
monitor_speed = 115200
debug_tool = jlink
upload_protocol = jlink
@ -161,30 +140,27 @@ upload_protocol = jlink
#
[env:STM32F103RE_btt]
platform = ${common_stm32.platform}
extends = common_stm32
build_flags = ${common_stm32.build_flags} -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED -DSS_TIMER=4 -DTIMER_SERVO=TIM5 -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8
extends = stm32_variant
board = genericSTM32F103RE
monitor_speed = 115200
board_build.core = stm32
board_build.variant = MARLIN_F103Rx
board_build.offset = 0x7000
board_upload.offset_address = 0x08007000
build_unflags = ${common_stm32.build_unflags}
extra_scripts = ${stm32f1_variant.extra_scripts}
build_flags = ${stm32_variant.build_flags}
-DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED
-DSS_TIMER=4 -DTIMER_SERVO=TIM5
-DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8
monitor_speed = 115200
debug_tool = jlink
upload_protocol = jlink
[env:STM32F103RE_btt_USB]
extends = env:STM32F103RE_btt
platform = ${common_stm32.platform}
platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/usb-host-msc-cdc-msc-3.zip
build_unflags = ${common_stm32.build_unflags} -DUSBD_USE_CDC
build_flags = ${env:STM32F103RE_btt.build_flags} ${env:stm32_flash_drive.build_flags}
-DUSBCON
-DUSE_USB_FS
-DUSBD_IRQ_PRIO=5
-DUSBD_IRQ_SUBPRIO=6
-DUSBD_USE_CDC_MSC
extends = env:STM32F103RE_btt
platform_packages = ${stm_flash_drive.platform_packages}
build_flags = ${env:STM32F103RE_btt.build_flags}
-DUSE_USB_FS -DUSBD_IRQ_PRIO=5
-DUSBD_IRQ_SUBPRIO=6 -DUSBD_USE_CDC_MSC
build_unflags = ${stm32_variant.build_unflags} -DUSBD_USE_CDC
#
# FLSUN QQS Pro (STM32F103VET6)
@ -192,48 +168,50 @@ build_flags = ${env:STM32F103RE_btt.build_flags} ${env:stm32_flash_drive.b
#
[env:flsun_hispeedv1]
platform = ${common_stm32.platform}
extends = common_stm32
build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3 -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2
extends = stm32_variant
board = genericSTM32F103VE
board_build.core = stm32
board_build.variant = MARLIN_F103Vx
board_build.offset = 0x7000
board_build.encrypt = Robin_mini.bin
board_build.offset = 0x7000
board_upload.offset_address = 0x08007000
build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
extra_scripts = ${stm32f1_variant.extra_scripts}
build_flags = ${stm32_variant.build_flags}
-DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3
-DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2
build_unflags = ${stm32_variant.build_unflags}
-DUSBCON -DUSBD_USE_CDC
#
# MKS Robin Nano V1.2 and V2
#
[env:mks_robin_nano35]
platform = ${common_stm32.platform}
extends = common_stm32
build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3 -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2
extends = stm32_variant
board = genericSTM32F103VE
board_build.core = stm32
board_build.variant = MARLIN_F103Vx
board_build.offset = 0x7000
board_build.encrypt = Robin_nano35.bin
board_build.offset = 0x7000
board_upload.offset_address = 0x08007000
build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
build_flags = ${stm32_variant.build_flags}
-DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3
-DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2
build_unflags = ${stm32_variant.build_unflags}
-DUSBCON -DUSBD_USE_CDC
debug_tool = jlink
upload_protocol = jlink
extra_scripts = ${stm32f1_variant.extra_scripts}
#
# Mingda MPX_ARM_MINI
#
[env:mingda_mpx_arm_mini]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = genericSTM32F103ZE
board_build.core = stm32
board_build.variant = MARLIN_F103Zx
board_build.offset = 0x10000
build_flags = ${common_stm32.build_flags} -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
extra_scripts = ${stm32f1_variant.extra_scripts}
build_flags = ${stm32_variant.build_flags}
-DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
build_unflags = ${stm32_variant.build_unflags}
-DUSBCON -DUSBD_USE_CDC
#
# Malyan M200 (STM32F103CB)
@ -243,7 +221,8 @@ platform = ${common_stm32.platform}
extends = common_stm32
board = malyanm200_f103cb
build_flags = ${common_stm32.build_flags}
-DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB -DHAL_UART_MODULE_ENABLED
-DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB
-DHAL_UART_MODULE_ENABLED
src_filter = ${common.default_src_filter} +<src/HAL/STM32>
#
@ -251,59 +230,46 @@ src_filter = ${common.default_src_filter} +<src/HAL/STM32>
#
[env:FLY_MINI]
platform = ${common_stm32.platform}
extends = common_stm32
build_flags = ${common_stm32.build_flags} -DSS_TIMER=4
extends = stm32_variant
board = genericSTM32F103RC
board_build.core = stm32
board_build.variant = MARLIN_F103Rx
board_build.offset = 0x5000
board_upload.offset_address = 0x08005000
extra_scripts = ${stm32f1_variant.extra_scripts}
build_flags = ${stm32_variant.build_flags} -DSS_TIMER=4
#
# MKS Robin Mini (STM32F103VET6)
#
[env:mks_robin_mini]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = genericSTM32F103VE
board_build.core = stm32
board_build.variant = MARLIN_F103Vx
board_build.offset = 0x7000
board_build.encrypt = Robin_mini.bin
build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2
board_build.offset = 0x7000
board_upload.offset_address = 0x08007000
extra_scripts = ${stm32f1_variant.extra_scripts}
build_flags = ${stm32_variant.build_flags}
-DMCU_STM32F103VE -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2
#
# MKS Robin Lite/Lite2 (STM32F103RCT6)
#
[env:mks_robin_lite]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = genericSTM32F103RC
board_build.core = stm32
board_build.variant = MARLIN_F103Rx
board_build.offset = 0x5000
board_build.encrypt = mksLite.bin
build_flags = ${common_stm32.build_flags}
board_build.offset = 0x5000
board_upload.offset_address = 0x08005000
extra_scripts = ${stm32f1_variant.extra_scripts}
#
# MKS ROBIN LITE3 (STM32F103RCT6)
#
[env:mks_robin_lite3]
platform = ${common_stm32.platform}
extends = common_stm32
board = genericSTM32F103RC
board_build.core = stm32
board_build.variant = MARLIN_F103Rx
board_build.offset = 0x5000
extends = env:mks_robin_lite
board_build.encrypt = mksLite3.bin
build_flags = ${common_stm32.build_flags}
board_upload.offset_address = 0x08005000
extra_scripts = ${stm32f1_variant.extra_scripts}
#
# MKS Robin Pro (STM32F103ZET6)
@ -319,15 +285,15 @@ board_build.encrypt = Robin_pro.bin
#
[env:mks_robin_e3p]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = genericSTM32F103VE
board_build.core = stm32
board_build.variant = MARLIN_F103Vx
board_build.offset = 0x7000
board_build.encrypt = Robin_e3p.bin
build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2
board_build.offset = 0x7000
board_upload.offset_address = 0x08007000
extra_scripts = ${stm32f1_variant.extra_scripts}
build_flags = ${stm32_variant.build_flags}
-DMCU_STM32F103VE -DSS_TIMER=4
-DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2
debug_tool = jlink
upload_protocol = jlink
@ -336,15 +302,15 @@ upload_protocol = jlink
#
[env:jgaurora_a5s_a1]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = genericSTM32F103ZE
board_build.core = stm32
board_build.variant = MARLIN_F103Zx
board_build.offset = 0xA000
board_build.rename = firmware_for_sd_upload.bin
build_flags = ${common_stm32.build_flags} -DSTM32F1xx -DSTM32_XL_DENSITY
board_build.address = 0x0800A000
extra_scripts = ${stm32f1_variant.extra_scripts}
board_upload.offset_address = 0x0800A000
build_flags = ${stm32_variant.build_flags}
-DSTM32F1xx -DSTM32_XL_DENSITY
extra_scripts = ${stm32_variant.extra_scripts}
buildroot/share/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py
#
@ -352,10 +318,9 @@ extra_scripts = ${stm32f1_variant.extra_scripts}
#
[env:STM32F103RC_fysetc]
platform = ${common_stm32.platform}
extends = common_STM32F103RC
extra_scripts = ${stm32f1_variant.extra_scripts}
extends = common_STM32F103RC_variant
extra_scripts = ${common_STM32F103RC_variant.extra_scripts}
buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py
build_flags = ${common_stm32.build_flags} -DDEBUG_LEVEL=0
lib_ldf_mode = chain
debug_tool = stlink
upload_protocol = serial
@ -365,18 +330,18 @@ upload_protocol = serial
#
[env:STM32F103VE_longer]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = genericSTM32F103VE
board_build.core = stm32
board_build.variant = MARLIN_F103Vx
board_build.offset = 0x10000
board_build.address = 0x08010000
build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DU20 -DTS_V12
-DLED_BUILTIN=PC2 -UPIN_WIRE_SDA -UPIN_WIRE_SCL -DPIN_WIRE_SDA=PB11 -DPIN_WIRE_SCL=PB10
board_upload.offset_address = 0x08010000
build_flags = ${stm32_variant.build_flags}
-DMCU_STM32F103VE -DU20 -DTS_V12 -DLED_BUILTIN=PC2 -UPIN_WIRE_SDA
-UPIN_WIRE_SCL -DPIN_WIRE_SDA=PB11 -DPIN_WIRE_SCL=PB10
-DHAL_DAC_MODULE_DISABLED -DHAL_I2S_MODULE_DISABLED
build_unflags = ${common_stm32.build_unflags}
build_unflags = ${stm32_variant.build_unflags}
-DUSBCON -DUSBD_USE_CDC -DHAL_PCD_MODULE_ENABLED
extra_scripts = ${stm32f1_variant.extra_scripts}
extra_scripts = ${stm32_variant.extra_scripts}
buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py
#
@ -392,15 +357,16 @@ extra_scripts = ${common_stm32.extra_scripts}
#
[env:chitu_f103]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = genericSTM32F103ZE
board_build.core = stm32
board_build.variant = MARLIN_F103Zx
extra_scripts = ${stm32f1_variant.extra_scripts}
build_flags = ${stm32_variant.build_flags}
-DSTM32F1xx -DSTM32_XL_DENSITY
build_unflags = ${stm32_variant.build_unflags}
-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=
-DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6
extra_scripts = ${stm32_variant.extra_scripts}
buildroot/share/PlatformIO/scripts/chitu_crypt.py
build_flags = ${common_stm32.build_flags} -DSTM32_XL_DENSITY
build_unflags = ${common_stm32.build_unflags}
-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG= -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6
#
# Some Chitu V5 boards have a problem with GPIO init.

@ -12,8 +12,8 @@
# F : Foundation (sometimes High Performance F2/F4)
# 4 : Cortex M4 core
# 01 : Line/Features
# R : 64 or 66 pins (V:100, Z:144, I:176)
# G : 1024KB Flash-memory (C:256KB, D:384KB, E:512KB)
# R : 64 or 66 pins (T:36, C:48 or 49, M:81, V:100, Z:144, I:176)
# G : 1024KB Flash-memory (B:128KB, C:256KB, D:384KB, E:512KB)
# T : LQFP package
# 6 : -40...85°C (7: ...105°C)
#
@ -29,57 +29,49 @@ board = armed_v1
build_flags = ${common_stm32.build_flags}
-O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing
[stm32f4_variant]
extra_scripts = ${common.extra_scripts}
pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
buildroot/share/PlatformIO/scripts/offset_and_rename.py
#
# STM32F401VE
# 'STEVAL-3DP001V1' STM32F401VE board - https://www.st.com/en/evaluation-tools/steval-3dp001v1.html
#
[env:STM32F401VE_STEVAL]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = marlin_STEVAL_STM32F401VE
build_flags = ${common_stm32.build_flags}
-DARDUINO_STEVAL -DSTM32F401xE
-DDISABLE_GENERIC_SERIALUSB -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
extra_scripts = ${stm32f4_variant.extra_scripts}
build_flags = ${stm32_variant.build_flags}
-DSTM32F401xE -DDISABLE_GENERIC_SERIALUSB
-DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
#
# STM32F401RC
#
[env:FYSETC_CHEETAH_V20]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = marlin_FYSETC_CHEETAH_V20
build_flags = ${common_stm32.build_flags} -DSTM32F401xC -DVECT_TAB_OFFSET=0xC000
extra_scripts = ${stm32f4_variant.extra_scripts}
board_build.offset = 0xC000
build_flags = ${stm32_variant.build_flags} -DSTM32F401xC
#
# FLYF407ZG
#
[env:FLYF407ZG]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = marlin_STM32F407ZGT6
board_build.variant = MARLIN_FLY_F407ZG
board_build.offset = 0x8000
upload_protocol = dfu
build_flags = ${common_stm32.build_flags}
-DVECT_TAB_OFFSET=0x8000
extra_scripts = ${stm32f4_variant.extra_scripts}
#
# FYSETC S6 (STM32F446RET6 ARM Cortex-M4)
#
[env:FYSETC_S6]
platform = ${common_stm32.platform}
extends = common_stm32
platform_packages = tool-stm32duino
extends = stm32_variant
board = marlin_fysetc_s6
build_flags = ${common_stm32.build_flags} -DVECT_TAB_OFFSET=0x10000 -DHAL_PCD_MODULE_ENABLED
extra_scripts = ${stm32f4_variant.extra_scripts}
board_build.offset = 0x10000
board_upload.offset_address = 0x08010000
build_flags = ${stm32_variant.build_flags} -DHAL_PCD_MODULE_ENABLED
debug_tool = stlink
upload_protocol = dfu
upload_command = dfu-util -a 0 -s 0x08010000:leave -D "$SOURCE"
@ -93,8 +85,6 @@ extends = env:FYSETC_S6
board = marlin_fysetc_s6_8000
board_build.offset = 0x8000
board_upload.offset_address = 0x08008000
build_flags = ${common_stm32.build_flags} -DHAL_PCD_MODULE_ENABLED
extra_scripts = ${stm32f4_variant.extra_scripts}
upload_command = dfu-util -a 0 -s 0x08008000:leave -D "$SOURCE"
#
@ -104,12 +94,10 @@ upload_command = dfu-util -a 0 -s 0x08008000:leave -D "$SOURCE"
#
[env:STM32F407VE_black]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = marlin_blackSTM32F407VET6
build_flags = ${common_stm32.build_flags}
-DARDUINO_BLACK_F407VE
build_flags = ${stm32_variant.build_flags}
-DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
extra_scripts = ${stm32f4_variant.extra_scripts}
#
# Anet ET4-MB_V1.x/ET4P-MB_V1.x (STM32F407VGT6 ARM Cortex-M4)
@ -118,118 +106,106 @@ extra_scripts = ${stm32f4_variant.extra_scripts}
#
[env:Anet_ET4_OpenBLT]
platform = ${common_stm32.platform}
extends = common_stm32
build_flags = ${common_stm32.build_flags} -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
extends = stm32_variant
board = marlin_STM32F407VGT6_CCM
board_build.core = stm32
board_build.variant = MARLIN_F4x7Vx
board_build.encrypt = firmware.srec
board_build.offset = 0x10000
board_upload.offset_address = 0x08010000
build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
build_flags = ${stm32_variant.build_flags}
-DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
build_unflags = ${stm32_variant.build_unflags}
-DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
extra_scripts = ${stm32_variant.extra_scripts}
buildroot/share/PlatformIO/scripts/openblt.py
debug_tool = jlink
upload_protocol = jlink
extra_scripts = ${stm32f4_variant.extra_scripts}
buildroot/share/PlatformIO/scripts/openblt.py
#
# BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4)
#
[env:BIGTREE_SKR_PRO]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = marlin_BigTree_SKR_Pro
build_flags = ${common_stm32.build_flags}
-DSTM32F407_5ZX -DVECT_TAB_OFFSET=0x8000
extra_scripts = ${stm32f4_variant.extra_scripts}
#upload_protocol = stlink
#upload_command = "$PROJECT_PACKAGES_DIR/tool-stm32duino/stlink/ST-LINK_CLI.exe" -c SWD -P "$BUILD_DIR/firmware.bin" 0x8008000 -Rst -Run
board_build.offset = 0x8000
build_flags = ${stm32_variant.build_flags} -DSTM32F407_5ZX
debug_tool = stlink
debug_init_break =
#
# USB Flash Drive mix-ins for STM32
#
[stm_flash_drive]
platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/usb-host-msc-cdc-msc-3.zip
build_flags = ${common_stm32.build_flags}
-DHAL_PCD_MODULE_ENABLED -DHAL_HCD_MODULE_ENABLED
-DUSBHOST -DUSBH_IRQ_PRIO=3 -DUSBH_IRQ_SUBPRIO=4
upload_protocol = stlink
#
# BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4) with USB Flash Drive Support
#
[env:BIGTREE_SKR_PRO_usb_flash_drive]
platform = ${common_stm32.platform}
extends = env:BIGTREE_SKR_PRO
platform_packages = ${stm_flash_drive.platform_packages}
build_unflags = -DUSBCON -DUSBD_USE_CDC
build_flags = ${stm_flash_drive.build_flags}
-DSTM32F407_5ZX -DVECT_TAB_OFFSET=0x8000
build_flags = ${stm_flash_drive.build_flags} -DSTM32F407_5ZX
build_unflags = ${env:BIGTREE_SKR_PRO.build_unflags} -DUSBCON -DUSBD_USE_CDC
#
# BigTreeTech E3 RRF (STM32F407VGT6 ARM Cortex-M4)
#
[env:BIGTREE_E3_RRF]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = marlin_STM32F407VGT6_CCM
board_build.variant = MARLIN_BIGTREE_E3_RRF
build_flags = ${common_stm32.build_flags}
-DSTM32F407_5VX -DVECT_TAB_OFFSET=0x8000
-DSERIAL_RX_BUFFER_SIZE=255 -DSERIAL_TX_BUFFER_SIZE=255
extra_scripts = ${stm32f4_variant.extra_scripts}
board_build.offset = 0x8000
build_flags = ${stm32_variant.build_flags}
-DSTM32F407_5VX
-DSERIAL_RX_BUFFER_SIZE=255
-DSERIAL_TX_BUFFER_SIZE=255
#
# Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4)
#
[env:BIGTREE_GTR_V1_0]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = marlin_BigTree_GTR_v1
extra_scripts = ${stm32f4_variant.extra_scripts}
build_flags = ${common_stm32.build_flags}
-DSTM32F407IX -DVECT_TAB_OFFSET=0x8000
board_build.offset = 0x8000
build_flags = ${stm32_variant.build_flags} -DSTM32F407IX
#
# Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4) with USB Flash Drive Support
#
[env:BIGTREE_GTR_V1_0_usb_flash_drive]
platform = ${common_stm32.platform}
extends = env:BIGTREE_GTR_V1_0
platform_packages = ${stm_flash_drive.platform_packages}
build_unflags = -DUSBCON -DUSBD_USE_CDC
build_flags = ${stm_flash_drive.build_flags}
-DSTM32F407IX -DVECT_TAB_OFFSET=0x8000
build_flags = ${stm_flash_drive.build_flags} -DSTM32F407IX
build_unflags = ${env:BIGTREE_GTR_V1_0.build_unflags} -DUSBCON -DUSBD_USE_CDC
#
# BigTreeTech BTT002 V1.0 (STM32F407VGT6 ARM Cortex-M4)
#
[env:BIGTREE_BTT002]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = marlin_BigTree_BTT002
build_flags = ${common_stm32.build_flags}
-DSTM32F407_5VX -DVECT_TAB_OFFSET=0x8000
board_build.offset = 0x8000
build_flags = ${stm32_variant.build_flags}
-DSTM32F407_5VX
-DHAVE_HWSERIAL2
-DHAVE_HWSERIAL3
-DPIN_SERIAL2_RX=PD_6
-DPIN_SERIAL2_TX=PD_5
extra_scripts = ${stm32f4_variant.extra_scripts}
#
# BigTreeTech SKR V2.0 (STM32F407VGT6 ARM Cortex-M4) with USB Flash Drive Support
#
[env:BIGTREE_SKR_2]
platform = ${common_stm32.platform}
extends = stm32_variant
platform_packages = ${stm_flash_drive.platform_packages}
extends = common_stm32
board = marlin_STM32F407VGT6_CCM
board_build.core = stm32
board_build.variant = MARLIN_F4x7Vx
board_build.offset = 0x8000
board_upload.offset_address = 0x08008000
extra_scripts = ${stm32f4_variant.extra_scripts}
build_flags = ${stm_flash_drive.build_flags}
-DUSE_USBHOST_HS -DUSE_USB_HS_IN_FS -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6
-DUSE_USBHOST_HS -DUSE_USB_HS_IN_FS
-DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6
-DHSE_VALUE=8000000U -DHAL_SD_MODULE_ENABLED
#
@ -238,49 +214,50 @@ build_flags = ${stm_flash_drive.build_flags}
[env:BIGTREE_SKR_2_USB]
platform = ${common_stm32.platform}
extends = env:BIGTREE_SKR_2
platform_packages = ${stm_flash_drive.platform_packages}
build_unflags = -DUSBD_USE_CDC
build_flags = ${env:BIGTREE_SKR_2.build_flags} -DUSBD_USE_CDC_MSC
build_unflags = ${env:BIGTREE_SKR_2.build_unflags} -DUSBD_USE_CDC
#
# BigTreeTech Octopus V1.0/1.1 (STM32F446ZET6 ARM Cortex-M4)
#
[env:BIGTREE_OCTOPUS_V1]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = marlin_BigTree_Octopus_v1
extra_scripts = ${stm32f4_variant.extra_scripts}
build_flags = ${common_stm32.build_flags}
-DSTM32F446_5VX -DVECT_TAB_OFFSET=0x8000 -DUSE_USB_HS_IN_FS
board_build.offset = 0x8000
build_flags = ${stm32_variant.build_flags}
-DSTM32F446_5VX -DUSE_USB_HS_IN_FS
#
# BigTreeTech Octopus V1.0/1.1 (STM32F446ZET6 ARM Cortex-M4) with USB Flash Drive Support
#
[env:BIGTREE_OCTOPUS_V1_USB]
platform = ${common_stm32.platform}
extends = env:BIGTREE_OCTOPUS_V1
platform_packages = ${stm_flash_drive.platform_packages}
#build_unflags = -DUSBCON -DUSBD_USE_CDC
build_flags = ${stm_flash_drive.build_flags}
-DSTM32F446_5VX -DVECT_TAB_OFFSET=0x8000
-DUSBCON -DUSE_USBHOST_HS -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6 -DUSE_USB_HS_IN_FS -DUSBD_USE_CDC_MSC
-DSTM32F446_5VX -DUSE_USB_HS_IN_FS
-DUSE_USBHOST_HS -DUSBD_IRQ_PRIO=5
-DUSBD_IRQ_SUBPRIO=6
-DUSBD_USE_CDC_MSC
#
# Lerdge base
#
[lerdge_common]
platform = ${common_stm32.platform}
extends = common_stm32
extends = stm32_variant
board = marlin_STM32F407ZGT6
board_build.variant = MARLIN_LERDGE
board_build.offset = 0x10000
board_build.encrypt = firmware.bin
extra_scripts = ${stm32f4_variant.extra_scripts}
buildroot/share/PlatformIO/scripts/lerdge.py
build_flags = ${common_stm32.build_flags}
board_build.offset = 0x10000
build_flags = ${stm32_variant.build_flags}
-DSTM32F4 -DSTM32F4xx -DTARGET_STM32F4
-DDISABLE_GENERIC_SERIALUSB -DARDUINO_ARCH_STM32 -DARDUINO_LERDGE
-DHAL_SRAM_MODULE_ENABLED
build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
extra_scripts = ${stm32_variant.extra_scripts}
buildroot/share/PlatformIO/scripts/lerdge.py
#
# Lerdge X
@ -339,38 +316,33 @@ build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
#
[env:rumba32]
platform = ${common_stm32.platform}
extends = common_stm32
build_flags = ${common_stm32.build_flags}
-Os
-DHAL_PCD_MODULE_ENABLED
extends = stm32_variant
board = rumba32_f446ve
board_build.variant = MARLIN_F446VE
board_build.offset = 0x0000
build_flags = ${stm32_variant.build_flags}
-Os -DHAL_PCD_MODULE_ENABLED
-DDISABLE_GENERIC_SERIALUSB
-DHAL_UART_MODULE_ENABLED
-DTIMER_SERIAL=TIM9
board = rumba32_f446ve
upload_protocol = dfu
monitor_speed = 500000
board_build.core = stm32
board_build.variant = MARLIN_F446VE
board_build.offset = 0x0000
extra_scripts = ${stm32f4_variant.extra_scripts}
upload_protocol = dfu
#
# MKS Robin Pro V2
#
[env:mks_robin_pro2]
platform = ${common_stm32.platform}
extends = stm32_variant
platform_packages = ${stm_flash_drive.platform_packages}
extends = common_stm32
build_flags = ${stm_flash_drive.build_flags}
board = genericSTM32F407VET6
board_build.core = stm32
board_build.variant = MARLIN_F4x7Vx
board_build.offset = 0x0000
board_upload.offset_address = 0x08000000
build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
build_flags = ${stm_flash_drive.build_flags}
build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC
debug_tool = jlink
upload_protocol = jlink
extra_scripts = ${stm32f4_variant.extra_scripts}
#
# This SPI is used by Robin Nano V3
@ -383,33 +355,30 @@ build_flags = -DPIN_WIRE_SCL=PB6 -DPIN_WIRE_SDA=PB7
#
[env:mks_robin_nano_v3]
platform = ${common_stm32.platform}
extends = common_stm32
build_flags = ${common_stm32.build_flags} ${stm32f4_I2C1.build_flags} -DHAL_PCD_MODULE_ENABLED -DUSBCON -DUSBD_USE_CDC
extends = stm32_variant
board = marlin_STM32F407VGT6_CCM
board_build.core = stm32
board_build.variant = MARLIN_F4x7Vx
board_build.rename = Robin_nano_v3.bin
board_build.offset = 0xC000
board_build.rename = Robin_nano_v3.bin
board_upload.offset_address = 0x0800C000
build_unflags = ${common_stm32.build_unflags}
build_flags = ${stm32_variant.build_flags} ${stm32f4_I2C1.build_flags}
-DHAL_PCD_MODULE_ENABLED
debug_tool = jlink
upload_protocol = jlink
extra_scripts = ${stm32f4_variant.extra_scripts}
#
# MKS Robin Nano V3 with USB Flash Drive Support
# Currently, using a STM32duino fork, until USB Host get merged
#
[env:mks_robin_nano_v3_usb_flash_drive]
platform = ${common_stm32.platform}
extends = env:mks_robin_nano_v3
platform_packages = ${stm_flash_drive.platform_packages}
build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags}
-DUSBCON
-DUSE_USBHOST_HS
-DUSBD_IRQ_PRIO=5
-DUSBD_IRQ_SUBPRIO=6
-DUSE_USB_HS_IN_FS
-DUSBD_USE_CDC
#
# MKS Robin Nano V3 with USB Flash Drive Support and Shared Media
@ -417,13 +386,6 @@ build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags}
#
[env:mks_robin_nano_v3_usb_flash_drive_msc]
platform = ${common_stm32.platform}
extends = env:mks_robin_nano_v3
platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/usb-host-msc-cdc-msc-3.zip
build_unflags = ${common_stm32.build_unflags} -DUSBD_USE_CDC
build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags}
-DUSBCON
-DUSE_USBHOST_HS
-DUSBD_IRQ_PRIO=5
-DUSBD_IRQ_SUBPRIO=6
-DUSE_USB_HS_IN_FS
extends = env:mks_robin_nano_v3_usb_flash_drive
build_flags = ${env:mks_robin_nano_v3_usb_flash_drive}
-DUSBD_USE_CDC_MSC

@ -37,29 +37,3 @@ build_flags = ${common_stm32.build_flags} -DTIMER_SERIAL=TIM9
platform = ${common_stm32.platform}
extends = common_stm32
board = remram_v1
build_flags = ${common_stm32.build_flags}
#
# BigTreeTech SKR SE BX (STM32H743IIT6 ARM Cortex-M7)
#
[env:BTT_SKR_SE_BX]
platform = ${common_stm32.platform}
platform_packages = ${stm_flash_drive.platform_packages}
extends = common_stm32
board = marlin_BTT_SKR_SE_BX
extra_scripts = ${common.extra_scripts}
pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
build_flags = ${common_stm32.build_flags}
${stm_flash_drive.build_flags}
-DUSE_USBHOST_HS
-DUSE_USB_HS_IN_FS
#-DUSBD_USE_CDC_MSC
-DVECT_TAB_OFFSET=0x20000
-DHAL_DMA2D_MODULE_ENABLED
-DHAL_LTDC_MODULE_ENABLED
-DHAL_SDRAM_MODULE_ENABLED
-DHAL_QSPI_MODULE_ENABLED
-DHAL_MDMA_MODULE_ENABLED
-DHAL_SD_MODULE_ENABLED
upload_protocol = cmsis-dap
debug_tool = cmsis-dap

@ -0,0 +1,41 @@
#
# Marlin Firmware
# PlatformIO Configuration File
#
#################################
#
# STM32H7 Architecture
#
# Naming Example: STM32H743IIT6
#
# H : High Performance
# 7 : Cortex M7 core
# 43 : Line/Features
# I : 176 pins
# I : 2048KB Flash-memory
# T : LQFP package
# 6 : -40...85°C (7: ...105°C)
#
#################################
#
# BigTreeTech SKR SE BX (STM32H743IIT6 ARM Cortex-M7)
#
[env:BTT_SKR_SE_BX]
platform = ${common_stm32.platform}
extends = stm32_variant
platform_packages = ${stm_flash_drive.platform_packages}
board = marlin_BTT_SKR_SE_BX
board_build.offset = 0x20000
build_flags = ${stm32_variant.build_flags} ${stm_flash_drive.build_flags}
-DUSE_USBHOST_HS
-DUSE_USB_HS_IN_FS
-DHAL_DMA2D_MODULE_ENABLED
-DHAL_LTDC_MODULE_ENABLED
-DHAL_SDRAM_MODULE_ENABLED
-DHAL_QSPI_MODULE_ENABLED
-DHAL_MDMA_MODULE_ENABLED
-DHAL_SD_MODULE_ENABLED
upload_protocol = cmsis-dap
debug_tool = cmsis-dap

@ -23,11 +23,13 @@ extra_configs =
ini/lpc176x.ini
ini/native.ini
ini/samd51.ini
ini/stm32-common.ini
ini/stm32f0.ini
ini/stm32f1-maple.ini
ini/stm32f1.ini
ini/stm32f4.ini
ini/stm32f7.ini
ini/stm32h7.ini
ini/teensy.ini
#

Loading…
Cancel
Save