440 lines
14 KiB
INI
440 lines
14 KiB
INI
|
#
|
||
|
# Marlin Firmware
|
||
|
# PlatformIO Configuration File
|
||
|
#
|
||
|
|
||
|
#################################
|
||
|
# #
|
||
|
# STM32F1 Architecture #
|
||
|
# #
|
||
|
#################################
|
||
|
|
||
|
#
|
||
|
# HAL/STM32 Base Environment values
|
||
|
#
|
||
|
[common_stm32]
|
||
|
platform = ststm32@~12.0
|
||
|
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>
|
||
|
|
||
|
#
|
||
|
# HAL/STM32F1 Common Environment values
|
||
|
#
|
||
|
[common_stm32f1]
|
||
|
platform = ststm32@~12.0
|
||
|
board_build.core = maple
|
||
|
build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py
|
||
|
${common.build_flags}
|
||
|
-DARDUINO_ARCH_STM32
|
||
|
build_unflags = -std=gnu11 -std=gnu++11
|
||
|
src_filter = ${common.default_src_filter} +<src/HAL/STM32F1>
|
||
|
lib_ignore = SPI, FreeRTOS701, FreeRTOS821
|
||
|
lib_deps = ${common.lib_deps}
|
||
|
SoftwareSerialM
|
||
|
platform_packages = tool-stm32duino
|
||
|
extra_scripts = ${common.extra_scripts}
|
||
|
pre:buildroot/share/PlatformIO/scripts/fix_framework_weakness.py
|
||
|
|
||
|
#
|
||
|
# STM32F103RC
|
||
|
#
|
||
|
[env:STM32F103RC]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = common_stm32f1
|
||
|
board = genericSTM32F103RC
|
||
|
monitor_speed = 115200
|
||
|
|
||
|
#
|
||
|
# MEEB_3DP (STM32F103RCT6 with 512K)
|
||
|
#
|
||
|
[env:STM32F103RC_meeb]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = common_stm32f1
|
||
|
board = MEEB_3DP
|
||
|
build_flags = ${common_stm32f1.build_flags}
|
||
|
-DDEBUG_LEVEL=0
|
||
|
-DSS_TIMER=4
|
||
|
-DSTM32_FLASH_SIZE=512
|
||
|
-DHSE_VALUE=12000000U
|
||
|
-DUSE_USB_COMPOSITE
|
||
|
-DVECT_TAB_OFFSET=0x2000
|
||
|
-DGENERIC_BOOTLOADER
|
||
|
extra_scripts = ${common_stm32f1.extra_scripts}
|
||
|
pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py
|
||
|
buildroot/share/PlatformIO/scripts/STM32F103RC_MEEB_3DP.py
|
||
|
lib_deps = ${common.lib_deps}
|
||
|
SoftwareSerialM
|
||
|
USBComposite for STM32F1@0.91
|
||
|
custom_marlin.NEOPIXEL_LED = Adafruit NeoPixel=https://github.com/ccccmagicboy/Adafruit_NeoPixel#meeb_3dp_use
|
||
|
debug_tool = stlink
|
||
|
upload_protocol = dfu
|
||
|
|
||
|
#
|
||
|
# STM32F103RC_fysetc
|
||
|
#
|
||
|
[env:STM32F103RC_fysetc]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = env:STM32F103RC
|
||
|
extra_scripts = ${common_stm32f1.extra_scripts}
|
||
|
buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py
|
||
|
build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0
|
||
|
lib_ldf_mode = chain
|
||
|
debug_tool = stlink
|
||
|
upload_protocol = serial
|
||
|
|
||
|
#
|
||
|
# BigTree SKR Mini V1.1 / SKR mini E3 / SKR E3 DIP (STM32F103RCT6 ARM Cortex-M3)
|
||
|
#
|
||
|
# STM32F103RC_btt ............. RCT6 with 256K
|
||
|
# STM32F103RC_btt_USB ......... RCT6 with 256K (USB mass storage)
|
||
|
# STM32F103RC_btt_512K ........ RCT6 with 512K
|
||
|
# STM32F103RC_btt_512K_USB .... RCT6 with 512K (USB mass storage)
|
||
|
#
|
||
|
# WARNING! If you have an SKR Mini v1.1 or an SKR Mini E3 1.0 / 1.2 / 2.0 / DIP
|
||
|
# and experience a printer freeze, re-flash Marlin using the regular (non-512K)
|
||
|
# build option. 256K chips may be re-branded 512K chips, but this means the
|
||
|
# upper 256K is sketchy, and failure is very likely.
|
||
|
#
|
||
|
|
||
|
[env:STM32F103RC_btt]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = env:STM32F103RC
|
||
|
extra_scripts = ${common_stm32f1.extra_scripts}
|
||
|
buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py
|
||
|
build_flags = ${common_stm32f1.build_flags}
|
||
|
-DDEBUG_LEVEL=0 -DSS_TIMER=4
|
||
|
monitor_speed = 115200
|
||
|
|
||
|
[env:STM32F103RC_btt_USB]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = env:STM32F103RC_btt
|
||
|
build_flags = ${env:STM32F103RC_btt.build_flags} -DUSE_USB_COMPOSITE
|
||
|
lib_deps = ${env:STM32F103RC_btt.lib_deps}
|
||
|
USBComposite for STM32F1@0.91
|
||
|
|
||
|
[env:STM32F103RC_btt_512K]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = env:STM32F103RC_btt
|
||
|
board_upload.maximum_size=524288
|
||
|
build_flags = ${env:STM32F103RC_btt.build_flags} -DSTM32_FLASH_SIZE=512
|
||
|
|
||
|
[env:STM32F103RC_btt_512K_USB]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = env:STM32F103RC_btt_512K
|
||
|
build_flags = ${env:STM32F103RC_btt_512K.build_flags} -DUSE_USB_COMPOSITE
|
||
|
lib_deps = ${env:STM32F103RC_btt_512K.lib_deps}
|
||
|
USBComposite for STM32F1@0.91
|
||
|
|
||
|
#
|
||
|
# STM32F103RE
|
||
|
#
|
||
|
[env:STM32F103RE]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = common_stm32f1
|
||
|
board = genericSTM32F103RE
|
||
|
monitor_speed = 115200
|
||
|
|
||
|
#
|
||
|
# STM32F103RE_btt ............. RET6
|
||
|
# STM32F103RE_btt_USB ......... RET6 (USB mass storage)
|
||
|
#
|
||
|
[env:STM32F103RE_btt]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = env:STM32F103RE
|
||
|
extra_scripts = ${common_stm32f1.extra_scripts}
|
||
|
buildroot/share/PlatformIO/scripts/STM32F103RE_SKR_E3_DIP.py
|
||
|
build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4
|
||
|
debug_tool = stlink
|
||
|
upload_protocol = stlink
|
||
|
|
||
|
[env:STM32F103RE_btt_USB]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = env:STM32F103RE_btt
|
||
|
build_flags = ${env:STM32F103RE_btt.build_flags} -DUSE_USB_COMPOSITE
|
||
|
lib_deps = ${common_stm32f1.lib_deps}
|
||
|
USBComposite for STM32F1@0.91
|
||
|
|
||
|
#
|
||
|
# Geeetech GTM32 (STM32F103VET6)
|
||
|
#
|
||
|
[env:STM32F103VE_GTM32]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = common_stm32f1
|
||
|
board = genericSTM32F103VE
|
||
|
build_flags = ${common_stm32f1.build_flags}
|
||
|
-ffunction-sections -fdata-sections -nostdlib -MMD
|
||
|
-DMCU_STM32F103VE -DARDUINO_GENERIC_STM32F103V -DARDUINO_ARCH_STM32F1 -DBOARD_generic_stm32f103v
|
||
|
-DDEBUG_LEVEL=DEBUG_NONE -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DVECT_TAB_ADDR=0x8000000
|
||
|
-DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6
|
||
|
upload_protocol = serial
|
||
|
|
||
|
#
|
||
|
# Longer 3D board in Alfawise U20 (STM32F103VET6)
|
||
|
#
|
||
|
[env:STM32F103VE_longer]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = common_stm32f1
|
||
|
board = genericSTM32F103VE
|
||
|
extra_scripts = ${common_stm32f1.extra_scripts}
|
||
|
buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py
|
||
|
build_flags = ${common_stm32f1.build_flags}
|
||
|
-DMCU_STM32F103VE -DSTM32F1xx -USERIAL_USB -DU20 -DTS_V12
|
||
|
build_unflags = ${common_stm32f1.build_unflags}
|
||
|
-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6
|
||
|
|
||
|
#
|
||
|
# MKS Robin Mini (STM32F103VET6)
|
||
|
#
|
||
|
[env:mks_robin_mini]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = common_stm32f1
|
||
|
board = genericSTM32F103VE
|
||
|
extra_scripts = ${common_stm32f1.extra_scripts}
|
||
|
buildroot/share/PlatformIO/scripts/mks_robin_mini.py
|
||
|
build_flags = ${common_stm32f1.build_flags}
|
||
|
-DMCU_STM32F103VE
|
||
|
|
||
|
#
|
||
|
# MKS Robin Nano (STM32F103VET6)
|
||
|
#
|
||
|
[env:mks_robin_nano35]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = common_stm32f1
|
||
|
board = genericSTM32F103VE
|
||
|
extra_scripts = ${common_stm32f1.extra_scripts}
|
||
|
buildroot/share/PlatformIO/scripts/mks_robin_nano35.py
|
||
|
build_flags = ${common_stm32f1.build_flags}
|
||
|
-DMCU_STM32F103VE -DSS_TIMER=4
|
||
|
debug_tool = jlink
|
||
|
upload_protocol = jlink
|
||
|
|
||
|
#
|
||
|
# MKS Robin (STM32F103ZET6)
|
||
|
#
|
||
|
[env:mks_robin]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = common_stm32f1
|
||
|
board = genericSTM32F103ZE
|
||
|
extra_scripts = ${common_stm32f1.extra_scripts}
|
||
|
buildroot/share/PlatformIO/scripts/mks_robin.py
|
||
|
build_flags = ${common_stm32f1.build_flags}
|
||
|
-DSS_TIMER=4 -DSTM32_XL_DENSITY
|
||
|
|
||
|
# MKS Robin (STM32F103ZET6)
|
||
|
# Uses HAL STM32 to support Marlin UI for TFT screen with optional touch panel
|
||
|
#
|
||
|
[env:mks_robin_stm32]
|
||
|
platform = ${common_stm32.platform}
|
||
|
extends = common_stm32
|
||
|
board = genericSTM32F103ZE
|
||
|
board_build.core = stm32
|
||
|
board_build.variant = MARLIN_F103Zx
|
||
|
board_build.ldscript = ldscript.ld
|
||
|
board_build.offset = 0x7000
|
||
|
board_build.encrypt = Yes
|
||
|
board_build.firmware = Robin.bin
|
||
|
build_flags = ${common_stm32.build_flags}
|
||
|
-DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
|
||
|
build_unflags = ${common_stm32.build_unflags}
|
||
|
-DUSBCON -DUSBD_USE_CDC
|
||
|
extra_scripts = ${common.extra_scripts}
|
||
|
pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
|
||
|
buildroot/share/PlatformIO/scripts/stm32_bootloader.py
|
||
|
buildroot/share/PlatformIO/scripts/mks_encrypt.py
|
||
|
lib_deps =
|
||
|
|
||
|
#
|
||
|
# MKS Robin Pro (STM32F103ZET6)
|
||
|
#
|
||
|
[env:mks_robin_pro]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = env:mks_robin
|
||
|
extra_scripts = ${common_stm32f1.extra_scripts}
|
||
|
buildroot/share/PlatformIO/scripts/mks_robin_pro.py
|
||
|
|
||
|
#
|
||
|
# TRIGORILLA PRO (STM32F103ZET6)
|
||
|
#
|
||
|
[env:trigorilla_pro]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = env:mks_robin
|
||
|
extra_scripts = ${common_stm32f1.extra_scripts}
|
||
|
|
||
|
#
|
||
|
# MKS Robin E3D (STM32F103RCT6) and
|
||
|
# MKS Robin E3 with TMC2209
|
||
|
#
|
||
|
[env:mks_robin_e3]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = common_stm32f1
|
||
|
board = genericSTM32F103RC
|
||
|
platform_packages = tool-stm32duino
|
||
|
extra_scripts = ${common_stm32f1.extra_scripts}
|
||
|
buildroot/share/PlatformIO/scripts/mks_robin_e3.py
|
||
|
build_flags = ${common_stm32f1.build_flags}
|
||
|
-DDEBUG_LEVEL=0 -DSS_TIMER=4
|
||
|
|
||
|
#
|
||
|
# MKS Robin E3p (STM32F103VET6)
|
||
|
# - LVGL UI
|
||
|
#
|
||
|
[env:mks_robin_e3p]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = common_stm32f1
|
||
|
board = genericSTM32F103VE
|
||
|
extra_scripts = ${common_stm32f1.extra_scripts}
|
||
|
buildroot/share/PlatformIO/scripts/mks_robin_e3p.py
|
||
|
build_flags = ${common_stm32f1.build_flags}
|
||
|
-DMCU_STM32F103VE -DSS_TIMER=4
|
||
|
debug_tool = jlink
|
||
|
upload_protocol = jlink
|
||
|
|
||
|
#
|
||
|
# MKS Robin Lite/Lite2 (STM32F103RCT6)
|
||
|
#
|
||
|
[env:mks_robin_lite]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = common_stm32f1
|
||
|
board = genericSTM32F103RC
|
||
|
extra_scripts = ${common_stm32f1.extra_scripts}
|
||
|
buildroot/share/PlatformIO/scripts/mks_robin_lite.py
|
||
|
|
||
|
#
|
||
|
# MKS ROBIN LITE3 (STM32F103RCT6)
|
||
|
#
|
||
|
[env:mks_robin_lite3]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = common_stm32f1
|
||
|
board = genericSTM32F103RC
|
||
|
extra_scripts = ${common_stm32f1.extra_scripts}
|
||
|
buildroot/share/PlatformIO/scripts/mks_robin_lite3.py
|
||
|
|
||
|
#
|
||
|
# JGAurora A5S A1 (STM32F103ZET6)
|
||
|
#
|
||
|
[env:jgaurora_a5s_a1]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = common_stm32f1
|
||
|
board = genericSTM32F103ZE
|
||
|
extra_scripts = ${common_stm32f1.extra_scripts}
|
||
|
buildroot/share/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py
|
||
|
build_flags = ${common_stm32f1.build_flags}
|
||
|
-DSTM32F1xx -DSTM32_XL_DENSITY
|
||
|
|
||
|
#
|
||
|
# Malyan M200 (STM32F103CB)
|
||
|
#
|
||
|
[env:STM32F103CB_malyan]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = common_stm32f1
|
||
|
board = malyanM200
|
||
|
build_flags = ${common_stm32f1.build_flags}
|
||
|
-DMCU_STM32F103CB -D__STM32F1__=1 -std=c++1y -DSERIAL_USB -ffunction-sections -fdata-sections
|
||
|
-Wl,--gc-sections -DDEBUG_LEVEL=0 -D__MARLIN_FIRMWARE__
|
||
|
lib_ignore = ${common_stm32f1.lib_ignore}
|
||
|
SoftwareSerialM
|
||
|
|
||
|
#
|
||
|
# Chitu boards like Tronxy X5s (STM32F103ZET6)
|
||
|
#
|
||
|
[env:chitu_f103]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = common_stm32f1
|
||
|
board = CHITU_F103
|
||
|
extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-dependencies.py
|
||
|
pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py
|
||
|
buildroot/share/PlatformIO/scripts/chitu_crypt.py
|
||
|
build_flags = ${common_stm32f1.build_flags}
|
||
|
-DSTM32F1xx -DSTM32_XL_DENSITY
|
||
|
build_unflags = ${common_stm32f1.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.
|
||
|
# Use this target if G28 or G29 are always failing.
|
||
|
#
|
||
|
[env:chitu_v5_gpio_init]
|
||
|
platform = ${common_stm32f1.platform}
|
||
|
extends = env:chitu_f103
|
||
|
build_flags = ${env:chitu_f103.build_flags} -DCHITU_V5_Z_MIN_BUGFIX
|
||
|
|
||
|
#
|
||
|
# Creality (STM32F103RET6)
|
||
|
#
|
||
|
[env:STM32F103RET6_creality]
|
||
|
platform = ${env:STM32F103RE.platform}
|
||
|
extends = env:STM32F103RE
|
||
|
build_flags = ${env:STM32F103RE.build_flags} -DTEMP_TIMER_CHAN=4
|
||
|
extra_scripts = ${env:STM32F103RE.extra_scripts}
|
||
|
pre:buildroot/share/PlatformIO/scripts/random-bin.py
|
||
|
buildroot/share/PlatformIO/scripts/STM32F103RET6_creality.py
|
||
|
debug_tool = jlink
|
||
|
upload_protocol = jlink
|
||
|
|
||
|
#
|
||
|
# FLSUN QQS Pro (STM32F103VET6) using hal STM32
|
||
|
# board Hispeedv1
|
||
|
#
|
||
|
[env:flsun_hispeedv1]
|
||
|
platform = ${common_stm32.platform}
|
||
|
extends = common_stm32
|
||
|
build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3
|
||
|
board = genericSTM32F103VE
|
||
|
board_build.core = stm32
|
||
|
board_build.variant = MARLIN_F103Vx
|
||
|
board_build.ldscript = ldscript.ld
|
||
|
board_build.offset = 0x7000
|
||
|
board_build.firmware = Robin_mini.bin
|
||
|
board_build.encrypt = Yes
|
||
|
board_upload.offset_address = 0x08007000
|
||
|
build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
|
||
|
extra_scripts = ${common.extra_scripts}
|
||
|
pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
|
||
|
buildroot/share/PlatformIO/scripts/stm32_bootloader.py
|
||
|
buildroot/share/PlatformIO/scripts/mks_encrypt.py
|
||
|
|
||
|
#
|
||
|
# MKS Robin Nano V1.2 and V2 using hal STM32
|
||
|
#
|
||
|
[env:mks_robin_nano35_stm32]
|
||
|
platform = ${common_stm32.platform}
|
||
|
extends = common_stm32
|
||
|
build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3
|
||
|
board = genericSTM32F103VE
|
||
|
board_build.core = stm32
|
||
|
board_build.variant = MARLIN_F103Vx
|
||
|
board_build.ldscript = ldscript.ld
|
||
|
board_build.offset = 0x7000
|
||
|
board_build.encrypt = Yes
|
||
|
board_build.firmware = Robin_nano35.bin
|
||
|
board_upload.offset_address = 0x08007000
|
||
|
build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
|
||
|
debug_tool = jlink
|
||
|
upload_protocol = jlink
|
||
|
extra_scripts = ${common.extra_scripts}
|
||
|
pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
|
||
|
buildroot/share/PlatformIO/scripts/stm32_bootloader.py
|
||
|
buildroot/share/PlatformIO/scripts/mks_encrypt.py
|
||
|
|
||
|
#
|
||
|
# Mingda MPX_ARM_MINI
|
||
|
#
|
||
|
[env:mingda_mpx_arm_mini]
|
||
|
platform = ${common_stm32.platform}
|
||
|
extends = common_stm32
|
||
|
board = genericSTM32F103ZE
|
||
|
board_build.core = stm32
|
||
|
board_build.variant = MARLIN_F103Zx
|
||
|
board_build.ldscript = ldscript.ld
|
||
|
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 = ${common.extra_scripts}
|
||
|
pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
|
||
|
buildroot/share/PlatformIO/scripts/stm32_bootloader.py
|