|
|
|
#
|
|
|
|
# Marlin Firmware
|
|
|
|
# PlatformIO Configuration File
|
|
|
|
#
|
|
|
|
|
|
|
|
#################################
|
|
|
|
#
|
|
|
|
# STM32F1 Architecture with unified STM32 HAL
|
|
|
|
#
|
|
|
|
# Naming Example: STM32F103RCT6
|
|
|
|
#
|
|
|
|
# F : Foundation (sometimes High Performance F2/F4)
|
|
|
|
# 1 : Cortex M3 core (0:M0, 1-2:M3, 3-4:M4, 7:M7)
|
|
|
|
# 03 : Line/Features
|
|
|
|
# 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)
|
|
|
|
#
|
|
|
|
#################################
|
|
|
|
|
|
|
|
[common_STM32F103RC_variant]
|
|
|
|
extends = stm32_variant
|
|
|
|
board = genericSTM32F103RC
|
|
|
|
board_build.variant = MARLIN_F103Rx
|
|
|
|
build_flags = ${stm32_variant.build_flags} -DDEBUG_LEVEL=0
|
|
|
|
monitor_speed = 115200
|
|
|
|
|
|
|
|
#
|
|
|
|
# STM32F103RE
|
|
|
|
#
|
|
|
|
[env:STM32F103RE]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = common_stm32
|
|
|
|
board = genericSTM32F103RE
|
|
|
|
monitor_speed = 115200
|
|
|
|
|
|
|
|
#
|
|
|
|
# STM32F103VE
|
|
|
|
#
|
|
|
|
[env:STM32F103VE]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = common_stm32
|
|
|
|
board = genericSTM32F103VE
|
|
|
|
monitor_speed = 115200
|
|
|
|
|
|
|
|
#
|
|
|
|
# STM32F103ZE
|
|
|
|
#
|
|
|
|
[env:STM32F103ZE]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = common_stm32
|
|
|
|
board = genericSTM32F103ZE
|
|
|
|
monitor_speed = 115200
|
|
|
|
|
|
|
|
#
|
|
|
|
# BigTree SKR Mini V1.1 / SKR Mini E3 & MZ (STM32F103RCT6 ARM Cortex-M3)
|
|
|
|
#
|
|
|
|
# STM32F103RC_btt ............. RCT6 with 256K
|
|
|
|
# STM32F103RC_btt_USB ......... RCT6 with 256K (USB mass storage)
|
|
|
|
#
|
|
|
|
[env:STM32F103RC_btt]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
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]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
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)
|
|
|
|
# Uses HAL STM32 to support Marlin UI for TFT screen with optional touch panel
|
|
|
|
#
|
|
|
|
[env:mks_robin]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = stm32_variant
|
|
|
|
board = genericSTM32F103ZE
|
|
|
|
board_build.variant = MARLIN_F103Zx
|
|
|
|
board_build.encrypt = Robin.bin
|
|
|
|
board_build.offset = 0x7000
|
|
|
|
build_flags = ${stm32_variant.build_flags}
|
|
|
|
-DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
|
|
|
|
build_unflags = ${stm32_variant.build_unflags}
|
|
|
|
-DUSBCON -DUSBD_USE_CDC
|
|
|
|
|
|
|
|
#
|
|
|
|
# MKS Robin E3/E3D (STM32F103RCT6) with TMC2209
|
|
|
|
#
|
|
|
|
[env:mks_robin_e3]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
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
|
|
|
|
|
|
|
|
#
|
|
|
|
# Creality (STM32F103RET6)
|
|
|
|
#
|
|
|
|
[env:STM32F103RET6_creality]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = stm32_variant
|
|
|
|
board = genericSTM32F103RE
|
|
|
|
board_build.variant = MARLIN_F103Rx
|
|
|
|
board_build.offset = 0x7000
|
|
|
|
board_upload.offset_address = 0x08007000
|
|
|
|
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
|
|
|
|
|
|
|
|
#
|
|
|
|
# BigTree SKR Mini E3 V2.0 & DIP / SKR CR6 (STM32F103RET6 ARM Cortex-M3)
|
|
|
|
#
|
|
|
|
# STM32F103RE_btt ............. RET6
|
|
|
|
# STM32F103RE_btt_USB ......... RET6 (USB mass storage)
|
|
|
|
#
|
|
|
|
[env:STM32F103RE_btt]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = stm32_variant
|
|
|
|
board = genericSTM32F103RE
|
|
|
|
board_build.variant = MARLIN_F103Rx
|
|
|
|
board_build.offset = 0x7000
|
|
|
|
board_upload.offset_address = 0x08007000
|
|
|
|
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]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
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)
|
|
|
|
# board Hispeedv1
|
|
|
|
#
|
|
|
|
[env:flsun_hispeedv1]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = stm32_variant
|
|
|
|
board = genericSTM32F103VE
|
|
|
|
board_build.variant = MARLIN_F103Vx
|
|
|
|
board_build.encrypt = Robin_mini.bin
|
|
|
|
board_build.offset = 0x7000
|
|
|
|
board_upload.offset_address = 0x08007000
|
|
|
|
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 = stm32_variant
|
|
|
|
board = genericSTM32F103VE
|
|
|
|
board_build.variant = MARLIN_F103Vx
|
|
|
|
board_build.encrypt = Robin_nano35.bin
|
|
|
|
board_build.offset = 0x7000
|
|
|
|
board_upload.offset_address = 0x08007000
|
|
|
|
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
|
|
|
|
|
|
|
|
#
|
|
|
|
# Mingda MPX_ARM_MINI
|
|
|
|
#
|
|
|
|
[env:mingda_mpx_arm_mini]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = stm32_variant
|
|
|
|
board = genericSTM32F103ZE
|
|
|
|
board_build.variant = MARLIN_F103Zx
|
|
|
|
board_build.offset = 0x10000
|
|
|
|
build_flags = ${stm32_variant.build_flags}
|
|
|
|
-DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
|
|
|
|
build_unflags = ${stm32_variant.build_unflags}
|
|
|
|
-DUSBCON -DUSBD_USE_CDC
|
|
|
|
|
|
|
|
#
|
|
|
|
# Malyan M200 (STM32F103CB)
|
|
|
|
#
|
|
|
|
[env:STM32F103CB_malyan]
|
|
|
|
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
|
|
|
|
src_filter = ${common.default_src_filter} +<src/HAL/STM32>
|
|
|
|
|
|
|
|
#
|
|
|
|
# FLYmaker FLY Mini (STM32F103RCT6)
|
|
|
|
#
|
|
|
|
[env:FLY_MINI]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = stm32_variant
|
|
|
|
board = genericSTM32F103RC
|
|
|
|
board_build.variant = MARLIN_F103Rx
|
|
|
|
board_build.offset = 0x5000
|
|
|
|
board_upload.offset_address = 0x08005000
|
|
|
|
build_flags = ${stm32_variant.build_flags} -DSS_TIMER=4
|
|
|
|
|
|
|
|
#
|
|
|
|
# MKS Robin Mini (STM32F103VET6)
|
|
|
|
#
|
|
|
|
[env:mks_robin_mini]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = stm32_variant
|
|
|
|
board = genericSTM32F103VE
|
|
|
|
board_build.variant = MARLIN_F103Vx
|
|
|
|
board_build.encrypt = Robin_mini.bin
|
|
|
|
board_build.offset = 0x7000
|
|
|
|
board_upload.offset_address = 0x08007000
|
|
|
|
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 = stm32_variant
|
|
|
|
board = genericSTM32F103RC
|
|
|
|
board_build.variant = MARLIN_F103Rx
|
|
|
|
board_build.encrypt = mksLite.bin
|
|
|
|
board_build.offset = 0x5000
|
|
|
|
board_upload.offset_address = 0x08005000
|
|
|
|
|
|
|
|
#
|
|
|
|
# MKS ROBIN LITE3 (STM32F103RCT6)
|
|
|
|
#
|
|
|
|
[env:mks_robin_lite3]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = env:mks_robin_lite
|
|
|
|
board_build.encrypt = mksLite3.bin
|
|
|
|
|
|
|
|
#
|
|
|
|
# MKS Robin Pro (STM32F103ZET6)
|
|
|
|
#
|
|
|
|
[env:mks_robin_pro]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = env:mks_robin
|
|
|
|
board_build.encrypt = Robin_pro.bin
|
|
|
|
|
|
|
|
#
|
|
|
|
# MKS Robin E3p (STM32F103VET6)
|
|
|
|
# - LVGL UI
|
|
|
|
#
|
|
|
|
[env:mks_robin_e3p]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = stm32_variant
|
|
|
|
board = genericSTM32F103VE
|
|
|
|
board_build.variant = MARLIN_F103Vx
|
|
|
|
board_build.encrypt = Robin_e3p.bin
|
|
|
|
board_build.offset = 0x7000
|
|
|
|
board_upload.offset_address = 0x08007000
|
|
|
|
build_flags = ${stm32_variant.build_flags}
|
|
|
|
-DMCU_STM32F103VE -DSS_TIMER=4
|
|
|
|
-DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2
|
|
|
|
debug_tool = jlink
|
|
|
|
upload_protocol = jlink
|
|
|
|
|
|
|
|
#
|
|
|
|
# JGAurora A5S A1 (STM32F103ZET6)
|
|
|
|
#
|
|
|
|
[env:jgaurora_a5s_a1]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = stm32_variant
|
|
|
|
board = genericSTM32F103ZE
|
|
|
|
board_build.variant = MARLIN_F103Zx
|
|
|
|
board_build.offset = 0xA000
|
|
|
|
board_build.rename = firmware_for_sd_upload.bin
|
|
|
|
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
|
|
|
|
|
|
|
|
#
|
|
|
|
# FYSETC STM32F103RC
|
|
|
|
#
|
|
|
|
[env:STM32F103RC_fysetc]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = common_STM32F103RC_variant
|
|
|
|
extra_scripts = ${common_STM32F103RC_variant.extra_scripts}
|
|
|
|
buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py
|
|
|
|
lib_ldf_mode = chain
|
|
|
|
debug_tool = stlink
|
|
|
|
upload_protocol = serial
|
|
|
|
|
|
|
|
#
|
|
|
|
# Longer 3D board in Alfawise U20 (STM32F103VET6)
|
|
|
|
#
|
|
|
|
[env:STM32F103VE_longer]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
lib_deps = ${common.lib_deps}
|
|
|
|
https://github.com/tpruvot/STM32_Servo_OpenDrain/archive/2.0.zip
|
|
|
|
extends = stm32_variant
|
|
|
|
board = genericSTM32F103VE
|
|
|
|
board_build.variant = MARLIN_F103VE_LONGER
|
|
|
|
board_build.rename = project.bin
|
|
|
|
board_build.offset = 0x10000
|
|
|
|
board_upload.offset_address = 0x08010000
|
|
|
|
build_flags = ${stm32_variant.build_flags} -DMCU_STM32F103VE -DU20 -DTS_V12
|
|
|
|
build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC -DHAL_PCD_MODULE_ENABLED
|
|
|
|
extra_scripts = ${stm32_variant.extra_scripts}
|
|
|
|
monitor_speed = 250000
|
|
|
|
debug_tool = stlink
|
|
|
|
|
|
|
|
#
|
|
|
|
# TRIGORILLA PRO (STM32F103ZET6)
|
|
|
|
#
|
|
|
|
[env:trigorilla_pro]
|
|
|
|
platform = ${stm32_variant.platform}
|
|
|
|
extends = stm32_variant
|
|
|
|
board = genericSTM32F103ZE
|
|
|
|
board_build.variant = MARLIN_F103Zx
|
|
|
|
board_build.offset = 0x7000
|
|
|
|
build_flags = ${stm32_variant.build_flags}
|
|
|
|
-DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
|
|
|
|
build_unflags = ${stm32_variant.build_unflags}
|
|
|
|
-DUSBCON -DUSBD_USE_CDC
|
|
|
|
|
|
|
|
#
|
|
|
|
# Chitu boards like Tronxy X5s (STM32F103ZET6)
|
|
|
|
#
|
|
|
|
[env:chitu_f103]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = stm32_variant
|
|
|
|
board = genericSTM32F103ZE
|
|
|
|
board_build.variant = MARLIN_F103Zx
|
|
|
|
build_flags = ${stm32_variant.build_flags}
|
|
|
|
-DSTM32F1xx -DSTM32_XL_DENSITY
|
|
|
|
build_unflags = ${stm32_variant.build_unflags}
|
|
|
|
extra_scripts = ${stm32_variant.extra_scripts}
|
|
|
|
buildroot/share/PlatformIO/scripts/chitu_crypt.py
|
|
|
|
|
|
|
|
#
|
|
|
|
# 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_stm32.platform}
|
|
|
|
extends = env:chitu_f103
|
|
|
|
build_flags = ${env:chitu_f103.build_flags} -DCHITU_V5_Z_MIN_BUGFIX
|
|
|
|
|
|
|
|
#
|
|
|
|
# Zonestar ZM3E2 V1.0 / ZM3E4 V1.0 / ZM3E4 V2.0
|
|
|
|
#
|
|
|
|
# STM32F103RC_ZM3E2_USB ........... RCT6 with 256K
|
|
|
|
# STM32F103VC_ZM3E4_USB ........... VCT6 with 256K
|
|
|
|
# STM32F103VE_ZM3E4V2_USB ......... VET6 with 512K
|
|
|
|
#
|
|
|
|
[ZONESTAR_ZM3E]
|
|
|
|
platform = ${common_stm32.platform}
|
|
|
|
extends = stm32_variant
|
|
|
|
platform_packages = ${stm_flash_drive.platform_packages}
|
|
|
|
board_upload.offset_address = 0x08005000
|
|
|
|
board_build.offset = 0x5000
|
|
|
|
board_upload.maximum_size = 237568
|
|
|
|
extra_scripts = ${stm32_variant.extra_scripts}
|
|
|
|
build_flags = ${common_stm32.build_flags}
|
|
|
|
-DSS_TIMER=4 -DTIMER_SERVO=TIM5 -DUSE_USB_FS -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6 -DUSBD_USE_CDC_MSC
|
|
|
|
build_unflags = ${stm32_variant.build_unflags} -DUSBD_USE_CDC
|
|
|
|
|
|
|
|
[env:STM32F103RC_ZM3E2_USB]
|
|
|
|
platform = ${ZONESTAR_ZM3E.platform}
|
|
|
|
extends = ZONESTAR_ZM3E
|
|
|
|
board = genericSTM32F103RC
|
|
|
|
board_build.variant = MARLIN_F103Rx
|
|
|
|
|
|
|
|
[env:STM32F103VC_ZM3E4_USB]
|
|
|
|
platform = ${ZONESTAR_ZM3E.platform}
|
|
|
|
extends = ZONESTAR_ZM3E
|
|
|
|
board = genericSTM32F103VC
|
|
|
|
board_build.variant = MARLIN_F103Vx
|
|
|
|
build_flags = ${ZONESTAR_ZM3E.build_flags} -DTIMER_TONE=1
|
|
|
|
|
|
|
|
[env:STM32F103VE_ZM3E4V2_USB]
|
|
|
|
platform = ${ZONESTAR_ZM3E.platform}
|
|
|
|
extends = ZONESTAR_ZM3E
|
|
|
|
board = genericSTM32F103VE
|
|
|
|
board_build.variant = MARLIN_F103Vx
|
|
|
|
build_flags = ${ZONESTAR_ZM3E.build_flags} -DTIMER_TONE=1
|
|
|
|
board_upload.maximum_size = 499712
|