1
0
mirror of https://github.com/MarlinFirmware/Marlin.git synced 2024-11-23 12:04:19 +00:00
MarlinFirmware/ini/stm32f1.ini
2021-07-21 00:28:26 -05:00

413 lines
14 KiB
INI

#
# Marlin Firmware
# PlatformIO Configuration File
#
#################################
#
# STM32F1 Architecture with unified STM32 HAL
#
# Naming Example: STM32F103RCT6
#
# F : Foundation (sometimes High Performance F2/F4)
# 1 : Cortex M1 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)
# 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
board = genericSTM32F103RC
monitor_speed = 115200
board_build.core = stm32
board_build.variant = MARLIN_F103Rx
extra_scripts = ${stm32f1_variant.extra_scripts}
#
# 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
build_flags = ${common_stm32.build_flags} -DDEBUG_LEVEL=0 -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
-DUSE_USB_FS
-DUSBD_IRQ_PRIO=5
-DUSBD_IRQ_SUBPRIO=6
-DUSBD_USE_CDC_MSC
#
# 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 = common_stm32
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}
-DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
build_unflags = ${common_stm32.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
board_build.encrypt = Robin_e3.bin
board_upload.offset_address = 0x08005000
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
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}
pre:buildroot/share/PlatformIO/scripts/random-bin.py
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 = 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
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}
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
#
# FLSUN QQS Pro (STM32F103VET6)
# 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 -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2
board = genericSTM32F103VE
board_build.core = stm32
board_build.variant = MARLIN_F103Vx
board_build.offset = 0x7000
board_build.encrypt = Robin_mini.bin
board_upload.offset_address = 0x08007000
build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
extra_scripts = ${stm32f1_variant.extra_scripts}
#
# 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
board = genericSTM32F103VE
board_build.core = stm32
board_build.variant = MARLIN_F103Vx
board_build.offset = 0x7000
board_build.encrypt = 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 = ${stm32f1_variant.extra_scripts}
#
# 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.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}
#
# 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 = common_stm32
build_flags = ${common_stm32.build_flags} -DSS_TIMER=4
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}
#
# MKS Robin Mini (STM32F103VET6)
#
[env:mks_robin_mini]
platform = ${common_stm32.platform}
extends = common_stm32
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_upload.offset_address = 0x08007000
extra_scripts = ${stm32f1_variant.extra_scripts}
#
# MKS Robin Lite/Lite2 (STM32F103RCT6)
#
[env:mks_robin_lite]
platform = ${common_stm32.platform}
extends = common_stm32
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_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
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)
#
[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 = common_stm32
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_upload.offset_address = 0x08007000
extra_scripts = ${stm32f1_variant.extra_scripts}
debug_tool = jlink
upload_protocol = jlink
#
# JGAurora A5S A1 (STM32F103ZET6)
#
[env:jgaurora_a5s_a1]
platform = ${common_stm32.platform}
extends = common_stm32
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}
buildroot/share/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py
#
# FYSETC STM32F103RC
#
[env:STM32F103RC_fysetc]
platform = ${common_stm32.platform}
extends = common_STM32F103RC
extra_scripts = ${stm32f1_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
#
# Longer 3D board in Alfawise U20 (STM32F103VET6)
#
[env:STM32F103VE_longer]
platform = ${common_stm32.platform}
extends = common_stm32
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
-DHAL_DAC_MODULE_DISABLED -DHAL_I2S_MODULE_DISABLED
build_unflags = ${common_stm32.build_unflags}
-DUSBCON -DUSBD_USE_CDC -DHAL_PCD_MODULE_ENABLED
extra_scripts = ${stm32f1_variant.extra_scripts}
buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py
#
# TRIGORILLA PRO (STM32F103ZET6)
#
[env:trigorilla_pro]
platform = ${common_stm32.platform}
extends = env:mks_robin
extra_scripts = ${common_stm32.extra_scripts}
#
# Chitu boards like Tronxy X5s (STM32F103ZET6)
#
[env:chitu_f103]
platform = ${common_stm32.platform}
extends = common_stm32
board = genericSTM32F103ZE
board_build.core = stm32
board_build.variant = MARLIN_F103Zx
extra_scripts = ${stm32f1_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.
# 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