stm32f1.ini 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517
  1. #
  2. # Marlin Firmware
  3. # PlatformIO Configuration File
  4. #
  5. #################################
  6. #
  7. # STM32F1 Architecture with unified STM32 HAL
  8. #
  9. # Naming Example: STM32F103RCT6
  10. #
  11. # F : Foundation (sometimes High Performance F2/F4)
  12. # 1 : Cortex M3 core (0:M0, 1-2:M3, 3-4:M4, 7:M7)
  13. # 03 : Line/Features
  14. # R : 64 or 66 pins (T:36, C:48, V:100, Z:144, I:176)
  15. # C : 256KB Flash-memory (B: 128KB, D:384KB, E:512KB, G:1024KB)
  16. # T : LQFP package
  17. # 6 : -40...85°C (7: ...105°C)
  18. #
  19. #################################
  20. [common_STM32F103RC_variant]
  21. extends = stm32_variant
  22. board = genericSTM32F103RC
  23. board_build.variant = MARLIN_F103Rx
  24. build_flags = ${stm32_variant.build_flags} -DDEBUG_LEVEL=0
  25. monitor_speed = 115200
  26. #
  27. # STM32F103RE
  28. #
  29. [env:STM32F103RE]
  30. extends = common_stm32
  31. board = genericSTM32F103RE
  32. monitor_speed = 115200
  33. #
  34. # STM32F103VE
  35. #
  36. [env:STM32F103VE]
  37. extends = common_stm32
  38. board = genericSTM32F103VE
  39. monitor_speed = 115200
  40. #
  41. # STM32F103ZE
  42. #
  43. [env:STM32F103ZE]
  44. extends = common_stm32
  45. board = genericSTM32F103ZE
  46. monitor_speed = 115200
  47. #
  48. # BigTreeTech SKR Mini V1.1 / SKR Mini E3 & MZ (STM32F103RCT6 ARM Cortex-M3)
  49. #
  50. # STM32F103RC_btt ............. RCT6 with 256K
  51. # STM32F103RC_btt_USB ......... RCT6 with 256K with USB Media Share Support
  52. #
  53. [env:STM32F103RC_btt]
  54. extends = common_STM32F103RC_variant
  55. build_flags = ${common_STM32F103RC_variant.build_flags}
  56. -DTIMER_SERVO=TIM5
  57. board_build.offset = 0x7000
  58. board_upload.offset_address = 0x08007000
  59. [USBD_CDC_MSC]
  60. build_flags = -DUSE_USB_FS -DUSBD_USE_CDC_MSC -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6
  61. [env:STM32F103RC_btt_USB]
  62. extends = env:STM32F103RC_btt
  63. platform_packages = ${stm_flash_drive.platform_packages}
  64. build_flags = ${env:STM32F103RC_btt.build_flags} ${USBD_CDC_MSC.build_flags}
  65. build_unflags = ${env:STM32F103RC_btt.build_unflags} -DUSBD_USE_CDC
  66. #
  67. # Panda Pi V2.9 - Standalone (STM32F103RC)
  68. # Headless, without direct Pi control, but potentially hosting OctoPrint, stepdaemon, etc.
  69. #
  70. [env:PANDA_PI_V29]
  71. extends = common_STM32F103RC_variant
  72. build_flags = ${common_STM32F103RC_variant.build_flags}
  73. -DTIMER_SERVO=TIM1
  74. board_build.offset = 0x5000
  75. board_upload.offset_address = 0x08005000
  76. lib_deps = markyue/Panda_SoftMasterI2C@1.0.3
  77. #
  78. # MKS Robin (STM32F103ZET6)
  79. # Uses HAL STM32 to support Marlin UI for TFT screen with optional touch panel
  80. #
  81. [env:mks_robin]
  82. extends = stm32_variant
  83. board = genericSTM32F103ZE
  84. board_build.variant = MARLIN_F103Zx
  85. board_build.encrypt_mks = Robin.bin
  86. board_build.offset = 0x7000
  87. board_build.offset_address = 0x08007000
  88. build_flags = ${stm32_variant.build_flags}
  89. -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
  90. build_unflags = ${stm32_variant.build_unflags}
  91. -DUSBCON -DUSBD_USE_CDC
  92. #
  93. # MKS Robin E3/E3D (STM32F103RCT6) with TMC2209
  94. #
  95. [env:mks_robin_e3]
  96. extends = common_STM32F103RC_variant
  97. board_build.encrypt_mks = Robin_e3.bin
  98. board_build.offset = 0x5000
  99. board_upload.offset_address = 0x08005000
  100. build_flags = ${common_STM32F103RC_variant.build_flags}
  101. -DTIMER_SERVO=TIM5 -DDEFAULT_SPI=3
  102. build_unflags = ${common_STM32F103RC_variant.build_unflags}
  103. -DUSBCON -DUSBD_USE_CDC
  104. debug_tool = stlink
  105. #
  106. # Creality (STM32F103Rx)
  107. #
  108. [STM32F103Rx_creality]
  109. extends = stm32_variant
  110. board_build.variant = MARLIN_F103Rx
  111. board_build.offset = 0x7000
  112. board_build.rename = firmware-{date}-{time}.bin
  113. board_upload.offset_address = 0x08007000
  114. build_flags = ${stm32_variant.build_flags}
  115. -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED
  116. -DSS_TIMER=4 -DTIMER_SERVO=TIM5
  117. -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8
  118. build_unflags = ${stm32_variant.build_unflags}
  119. -DUSBCON -DUSBD_USE_CDC
  120. monitor_speed = 115200
  121. debug_tool = jlink
  122. upload_protocol = jlink
  123. #
  124. # Creality (STM32F103Rx)
  125. # With custom upload to SD via Marlin with binary protocol.
  126. # Requires Marlin with BINARY_FILE_TRANSFER already installed on the target board.
  127. # If CUSTOM_FIRMWARE_UPLOAD is also installed, Marlin will reboot the board to install the firmware.
  128. # Currently CUSTOM_FIRMWARE_UPLOAD must also be enabled to use 'xfer' build envs.
  129. #
  130. [STM32F103Rx_creality_xfer]
  131. extends = STM32F103Rx_creality
  132. build_flags = ${STM32F103Rx_creality.build_flags} -DXFER_BUILD
  133. extra_scripts = ${STM32F103Rx_creality.extra_scripts}
  134. pre:buildroot/share/scripts/upload.py
  135. upload_protocol = custom
  136. #
  137. # Creality 512K (STM32F103RE)
  138. #
  139. [env:STM32F103RE_creality]
  140. extends = STM32F103Rx_creality
  141. board = genericSTM32F103RE
  142. #
  143. # Creality 512K (STM32F103RE) with custom binary upload to SD (see above).
  144. #
  145. [env:STM32F103RE_creality_xfer]
  146. extends = STM32F103Rx_creality_xfer
  147. board = genericSTM32F103RE
  148. #
  149. # Creality 512K (STM32F103RE) for new 64KiB bootloader (CR-10 Smart Pro printer)
  150. #
  151. [env:STM32F103RE_creality_smartPro]
  152. extends = env:STM32F103RE_creality
  153. board_build.offset = 0x10000
  154. board_upload.offset_address = 0x08010000
  155. #
  156. # Trigorilla V0.0.6 (GD32F103)
  157. # modified version of env:STM32F103RE_creality
  158. #
  159. [env:trigorilla_v006]
  160. extends = env:STM32F103RE_creality
  161. board_build.offset = 0x8000
  162. board_upload.offset_address = 0x08008000
  163. board_build.rename = main_board_{date}_{time}.bin
  164. #
  165. # Creality 256K (STM32F103RC)
  166. #
  167. [env:STM32F103RC_creality]
  168. extends = STM32F103Rx_creality
  169. board = genericSTM32F103RC
  170. #
  171. # Creality 256K (STM32F103RC) with custom binary upload to SD (see above).
  172. #
  173. [env:STM32F103RC_creality_xfer]
  174. extends = STM32F103Rx_creality_xfer
  175. board = genericSTM32F103RC
  176. #
  177. # Creality 512K (STM32F103VE)
  178. #
  179. [env:STM32F103VE_creality]
  180. extends = STM32F103Rx_creality
  181. board = genericSTM32F103VE
  182. board_build.variant = MARLIN_F103Vx
  183. build_flags = ${STM32F103Rx_creality.build_flags}
  184. -DSS_TIMER=4 -DTIMER_SERVO=TIM5
  185. -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8
  186. #
  187. # BigTreeTech SKR Mini E3 V2.0 & DIP / SKR CR6 (STM32F103RET6 ARM Cortex-M3)
  188. #
  189. # STM32F103RE_btt ............. RET6
  190. # STM32F103RE_btt_USB ......... RET6 with USB Media Share Support
  191. #
  192. [env:STM32F103RE_btt]
  193. extends = stm32_variant
  194. board = genericSTM32F103RE
  195. board_build.variant = MARLIN_F103Rx
  196. board_build.offset = 0x7000
  197. board_upload.offset_address = 0x08007000
  198. build_flags = ${stm32_variant.build_flags}
  199. -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED
  200. -DSS_TIMER=4 -DTIMER_SERVO=TIM5
  201. -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8
  202. monitor_speed = 115200
  203. debug_tool = jlink
  204. upload_protocol = jlink
  205. [env:STM32F103RE_btt_USB]
  206. extends = env:STM32F103RE_btt
  207. platform_packages = ${stm_flash_drive.platform_packages}
  208. build_flags = ${env:STM32F103RE_btt.build_flags} ${USBD_CDC_MSC.build_flags}
  209. build_unflags = ${env:STM32F103RE_btt.build_unflags} -DUSBD_USE_CDC
  210. #
  211. # ZNP Robin Nano V1.2
  212. #
  213. [env:znp_robin_nano35]
  214. extends = mks_robin_nano_v1v2
  215. board_build.encrypt_mks = elegoo.bin
  216. #
  217. # Mingda MPX_ARM_MINI
  218. #
  219. [env:mingda_mpx_arm_mini]
  220. extends = stm32_variant
  221. board = genericSTM32F103ZE
  222. board_build.variant = MARLIN_F103Zx
  223. board_build.offset = 0x10000
  224. board_build.offset_address = 0x08010000
  225. build_flags = ${stm32_variant.build_flags}
  226. -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
  227. build_unflags = ${stm32_variant.build_unflags}
  228. -DUSBCON -DUSBD_USE_CDC
  229. #
  230. # Malyan M200 (STM32F103CB)
  231. #
  232. [env:STM32F103CB_malyan]
  233. extends = common_stm32
  234. board = malyanm200_f103cb
  235. build_flags = ${common_stm32.build_flags}
  236. -DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB
  237. -DHAL_UART_MODULE_ENABLED
  238. build_src_filter = ${common_stm32.build_src_filter} +<src/HAL/STM32> -<src/HAL/STM32/tft>
  239. #
  240. # FLYmaker FLY Mini (STM32F103RCT6)
  241. #
  242. [env:FLY_MINI]
  243. extends = stm32_variant
  244. board = genericSTM32F103RC
  245. board_build.variant = MARLIN_F103Rx
  246. board_build.offset = 0x5000
  247. board_upload.offset_address = 0x08005000
  248. build_flags = ${stm32_variant.build_flags} -DSS_TIMER=4 -DSTM32_FLASH_SIZE=256
  249. #
  250. # (STM32F103VE_robin)
  251. #
  252. [STM32F103VE_robin]
  253. extends = stm32_variant
  254. board = genericSTM32F103VE
  255. board_build.variant = MARLIN_F103Vx
  256. board_build.offset = 0x7000
  257. board_upload.offset_address = 0x08007000
  258. build_flags = ${stm32_variant.build_flags} -DMCU_STM32F103VE -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2 -DSS_TIMER=4
  259. [mks_robin_nano_v1v2_common]
  260. extends = STM32F103VE_robin
  261. board_build.encrypt_mks = Robin_nano35.bin
  262. debug_tool = stlink
  263. upload_protocol = stlink
  264. #
  265. # MKS/ZNP Robin Nano V1.2 and V2 with native USB modification
  266. #
  267. [env:mks_robin_nano_v1v2_usbmod]
  268. extends = mks_robin_nano_v1v2_common
  269. #
  270. # MKS Robin Nano V1.2 and V2
  271. #
  272. [env:mks_robin_nano_v1v2]
  273. extends = mks_robin_nano_v1v2_common
  274. build_flags = ${mks_robin_nano_v1v2_common.build_flags} -DENABLE_HWSERIAL3
  275. build_unflags = ${mks_robin_nano_v1v2_common.build_unflags} -DUSBCON -DUSBD_USE_CDC
  276. #
  277. # MKS Robin Mini (STM32F103VET6)
  278. #
  279. [env:mks_robin_mini]
  280. extends = STM32F103VE_robin
  281. board_build.encrypt_mks = Robin_mini.bin
  282. build_unflags = ${STM32F103VE_robin.build_unflags} -DSS_TIMER=4 -DTIMER_SERVO=TIM2
  283. build_flags = ${STM32F103VE_robin.build_flags} -DTIMER_SERVO=TIM1
  284. #
  285. # MKS Robin E3p (STM32F103VET6)
  286. # - LVGL UI
  287. #
  288. [env:mks_robin_e3p]
  289. extends = STM32F103VE_robin
  290. board_build.encrypt_mks = Robin_e3p.bin
  291. debug_tool = jlink
  292. upload_protocol = jlink
  293. #
  294. # FLSUN QQS Pro (STM32F103VET6)
  295. # Hispeedv1 Robin mini variant
  296. #
  297. [env:flsun_hispeedv1]
  298. extends = STM32F103VE_robin
  299. board_build.encrypt_mks = Robin_mini.bin
  300. build_flags = ${STM32F103VE_robin.build_flags} -DENABLE_HWSERIAL3
  301. build_unflags = ${STM32F103VE_robin.build_unflags} -DUSBCON -DUSBD_USE_CDC
  302. #
  303. # MKS Robin Lite/Lite2 (STM32F103RCT6)
  304. #
  305. [env:mks_robin_lite]
  306. extends = stm32_variant
  307. board = genericSTM32F103RC
  308. board_build.variant = MARLIN_F103Rx
  309. board_build.encrypt_mks = mksLite.bin
  310. board_build.offset = 0x5000
  311. board_upload.offset_address = 0x08005000
  312. #
  313. # MKS ROBIN LITE3 (STM32F103RCT6)
  314. #
  315. [env:mks_robin_lite3]
  316. extends = env:mks_robin_lite
  317. board_build.encrypt_mks = mksLite3.bin
  318. #
  319. # MKS Robin Pro (STM32F103ZET6)
  320. #
  321. [env:mks_robin_pro]
  322. extends = env:mks_robin
  323. board_build.encrypt_mks = Robin_pro.bin
  324. #
  325. # JGAurora A5S A1 (STM32F103ZET6)
  326. #
  327. [env:jgaurora_a5s_a1]
  328. extends = stm32_variant
  329. board = genericSTM32F103ZE
  330. board_build.variant = MARLIN_F103Zx
  331. board_build.offset = 0xA000
  332. board_upload.offset_address = 0x0800A000
  333. build_flags = ${stm32_variant.build_flags}
  334. -DSTM32F1xx -DSTM32_XL_DENSITY
  335. build_unflags = ${stm32_variant.build_unflags}
  336. -DUSBCON -DUSBD_USE_CDC
  337. extra_scripts = ${stm32_variant.extra_scripts}
  338. buildroot/share/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py
  339. #
  340. # FYSETC STM32F103RC
  341. #
  342. [env:STM32F103RC_fysetc]
  343. extends = common_STM32F103RC_variant
  344. extra_scripts = ${common_STM32F103RC_variant.extra_scripts}
  345. buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py
  346. build_flags = ${common_STM32F103RC_variant.build_flags} -DTIMER_SERVO=TIM1
  347. lib_ldf_mode = chain
  348. debug_tool = stlink
  349. upload_protocol = serial
  350. #
  351. # Longer 3D board in Alfawise U20 (STM32F103VET6)
  352. #
  353. [env:STM32F103VE_longer]
  354. extends = stm32_variant
  355. lib_deps = ${common.lib_deps}
  356. https://github.com/tpruvot/STM32_Servo_OpenDrain/archive/2.0.zip
  357. board = genericSTM32F103VE
  358. board_build.variant = MARLIN_F103VE_LONGER
  359. board_build.rename = project.bin
  360. board_build.offset = 0x10000
  361. board_upload.offset_address = 0x08010000
  362. build_flags = ${stm32_variant.build_flags} -DMCU_STM32F103VE -DU20 -DTS_V12
  363. build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC -DHAL_PCD_MODULE_ENABLED
  364. extra_scripts = ${stm32_variant.extra_scripts}
  365. monitor_speed = 250000
  366. debug_tool = stlink
  367. #
  368. # TRIGORILLA PRO (STM32F103ZET6)
  369. #
  370. [env:trigorilla_pro]
  371. extends = stm32_variant
  372. board = genericSTM32F103ZE
  373. board_build.variant = MARLIN_F103Zx
  374. build_flags = ${stm32_variant.build_flags}
  375. -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5 -DSTM32_FLASH_SIZE=512
  376. build_unflags = ${stm32_variant.build_unflags}
  377. -DUSBCON -DUSBD_USE_CDC
  378. #
  379. # TRIGORILLA PRO DISK BASED (STM32F103ZET6)
  380. # Builds for Trigorilla to update from SD
  381. #
  382. [env:trigorilla_pro_disk]
  383. extends = stm32_variant
  384. board = genericSTM32F103ZE
  385. board_build.crypt_chitu = update.zw
  386. board_build.variant = MARLIN_F103Zx
  387. board_build.offset = 0x8800
  388. board_build.offset_address = 0x08008800
  389. build_flags = ${stm32_variant.build_flags}
  390. -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
  391. build_unflags = ${stm32_variant.build_unflags}
  392. -DUSBCON -DUSBD_USE_CDC
  393. extra_scripts = ${stm32_variant.extra_scripts}
  394. buildroot/share/PlatformIO/scripts/chitu_crypt.py
  395. #
  396. # Chitu boards like Tronxy X5s (STM32F103ZET6)
  397. #
  398. [env:chitu_f103]
  399. extends = stm32_variant
  400. board = genericSTM32F103ZE
  401. board_build.crypt_chitu = update.cbd
  402. board_build.variant = MARLIN_F103Zx
  403. board_build.offset = 0x8800
  404. board_build.offset_address = 0x08008800
  405. build_flags = ${stm32_variant.build_flags} -DSTM32F1xx -DSTM32_FLASH_SIZE=512
  406. build_unflags = ${stm32_variant.build_unflags}
  407. extra_scripts = ${stm32_variant.extra_scripts}
  408. buildroot/share/PlatformIO/scripts/chitu_crypt.py
  409. #
  410. # Some Chitu V5 boards have a problem with GPIO init.
  411. # Use this target if G28 or G29 are always failing.
  412. #
  413. [env:chitu_v5_gpio_init]
  414. extends = env:chitu_f103
  415. build_flags = ${env:chitu_f103.build_flags} -DCHITU_V5_Z_MIN_BUGFIX
  416. #
  417. # Zonestar ZM3E2 V1.0 / ZM3E4 V1.0 / ZM3E4 V2.0
  418. #
  419. # STM32F103RC_ZM3E2_USB ........... RCT6 with 256K
  420. # STM32F103VC_ZM3E4_USB ........... VCT6 with 256K
  421. # STM32F103VE_ZM3E4V2_USB ......... VET6 with 512K
  422. #
  423. [ZONESTAR_ZM3E]
  424. extends = stm32_variant
  425. platform_packages = ${stm_flash_drive.platform_packages}
  426. board_upload.offset_address = 0x08005000
  427. board_build.offset = 0x5000
  428. board_upload.maximum_size = 237568
  429. extra_scripts = ${stm32_variant.extra_scripts}
  430. build_flags = ${stm32_variant.build_flags} ${USBD_CDC_MSC.build_flags}
  431. -DSS_TIMER=4 -DTIMER_SERVO=TIM5
  432. build_unflags = ${stm32_variant.build_unflags} -DUSBD_USE_CDC
  433. [env:STM32F103RC_ZM3E2_USB]
  434. extends = ZONESTAR_ZM3E
  435. board = genericSTM32F103RC
  436. board_build.variant = MARLIN_F103Rx
  437. [env:STM32F103VC_ZM3E4_USB]
  438. extends = ZONESTAR_ZM3E
  439. board = genericSTM32F103VC
  440. board_build.variant = MARLIN_F103Vx
  441. build_flags = ${ZONESTAR_ZM3E.build_flags} -DTIMER_TONE=TIM1
  442. [env:STM32F103VE_ZM3E4V2_USB]
  443. extends = ZONESTAR_ZM3E
  444. board = genericSTM32F103VE
  445. board_build.variant = MARLIN_F103Vx
  446. build_flags = ${ZONESTAR_ZM3E.build_flags} -DTIMER_TONE=TIM1
  447. board_upload.maximum_size = 499712
  448. #
  449. # Mingda D2 DZ301 V1.0 (STM32F103ZE)
  450. #
  451. [env:mingda_d301]
  452. extends = stm32_variant
  453. board = genericSTM32F103ZE
  454. board_build.variant = MARLIN_F103Zx
  455. board_build.offset = 0x7000
  456. board_upload.offset_address = 0x08007000
  457. build_flags = ${stm32_variant.build_flags} -DSTM32F1xx -DSTM32_FLASH_SIZE=512
  458. #
  459. # ORCA 3D SPRINGER Modular Controller (STM32F103VCT6)
  460. #
  461. [env:STM32F103VC_orca3d]
  462. extends = stm32_variant
  463. board = genericSTM32F103VC
  464. board_build.variant = MARLIN_F103Vx
  465. build_flags = ${stm32_variant.build_flags} -DDEBUG_LEVEL=0
  466. monitor_speed = 115200
  467. board_build.offset = 0x8000
  468. board_upload.offset_address = 0x08008000