My Marlin configs for Fabrikator Mini and CTC i3 Pro B
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

stm32f4.ini 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466
  1. #
  2. # Marlin Firmware
  3. # PlatformIO Configuration File
  4. #
  5. #################################
  6. #
  7. # STM32F4 Architecture
  8. #
  9. # Naming Example: STM32F401RGT6
  10. #
  11. # F : Foundation (sometimes High Performance F2/F4)
  12. # 4 : Cortex M4 core (0:M0, 1-2:M3, 3-4:M4, 7:M7)
  13. # 01 : Line/Features
  14. # R : 64 or 66 pins (T:36, C:48 or 49, M:81, V:100, Z:144, I:176)
  15. # G : 1024KB Flash-memory (B:128KB, C:256KB, D:384KB, E:512KB)
  16. # T : LQFP package
  17. # 6 : -40...85°C (7: ...105°C)
  18. #
  19. #################################
  20. #
  21. # ARMED (STM32)
  22. #
  23. [env:ARMED]
  24. platform = ${common_stm32.platform}
  25. extends = common_stm32
  26. board = armed_v1
  27. build_flags = ${common_stm32.build_flags}
  28. -O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing
  29. #
  30. # STM32F401VE
  31. # 'STEVAL-3DP001V1' STM32F401VE board - https://www.st.com/en/evaluation-tools/steval-3dp001v1.html
  32. #
  33. [env:STM32F401VE_STEVAL]
  34. platform = ${common_stm32.platform}
  35. extends = stm32_variant
  36. board = marlin_STEVAL_STM32F401VE
  37. build_flags = ${stm32_variant.build_flags}
  38. -DSTM32F401xE -DDISABLE_GENERIC_SERIALUSB
  39. -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
  40. #
  41. # STM32F401RC
  42. #
  43. [env:FYSETC_CHEETAH_V20]
  44. platform = ${common_stm32.platform}
  45. extends = stm32_variant
  46. board = marlin_FYSETC_CHEETAH_V20
  47. board_build.offset = 0xC000
  48. build_flags = ${stm32_variant.build_flags} -DSTM32F401xC
  49. #
  50. # FLYF407ZG
  51. #
  52. [env:FLYF407ZG]
  53. platform = ${common_stm32.platform}
  54. extends = stm32_variant
  55. board = marlin_STM32F407ZGT6
  56. board_build.variant = MARLIN_FLY_F407ZG
  57. board_build.offset = 0x8000
  58. upload_protocol = dfu
  59. #
  60. # FYSETC S6 (STM32F446RET6 ARM Cortex-M4)
  61. #
  62. [env:FYSETC_S6]
  63. platform = ${common_stm32.platform}
  64. extends = stm32_variant
  65. board = marlin_fysetc_s6
  66. board_build.offset = 0x10000
  67. board_upload.offset_address = 0x08010000
  68. build_flags = ${stm32_variant.build_flags} -DHAL_PCD_MODULE_ENABLED
  69. debug_tool = stlink
  70. upload_protocol = dfu
  71. upload_command = dfu-util -a 0 -s 0x08010000:leave -D "$SOURCE"
  72. #
  73. # FYSETC S6 new bootloader
  74. #
  75. [env:FYSETC_S6_8000]
  76. platform = ${common_stm32.platform}
  77. extends = env:FYSETC_S6
  78. board = marlin_fysetc_s6
  79. board_build.offset = 0x8000
  80. board_upload.offset_address = 0x08008000
  81. upload_command = dfu-util -a 0 -s 0x08008000:leave -D "$SOURCE"
  82. #
  83. # STM32F407VET6 with RAMPS-like shield
  84. # 'Black' STM32F407VET6 board - https://wiki.stm32duino.com/index.php?title=STM32F407
  85. # Shield - https://github.com/jmz52/Hardware
  86. #
  87. [env:STM32F407VE_black]
  88. platform = ${common_stm32.platform}
  89. extends = stm32_variant
  90. board = marlin_blackSTM32F407VET6
  91. build_flags = ${stm32_variant.build_flags}
  92. -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
  93. #
  94. # STM32F407VET6 Index Mobo Rev 03
  95. #
  96. [env:Index_Mobo_Rev03]
  97. platform = ${common_stm32.platform}
  98. extends = stm32_variant
  99. board = marlin_index_mobo_rev03
  100. build_flags = ${stm32_variant.build_flags}
  101. -DARDUINO_BLACK_F407VE
  102. -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
  103. extra_scripts = ${stm32_variant.extra_scripts}
  104. #
  105. # Anet ET4-MB_V1.x/ET4P-MB_V1.x (STM32F407VGT6 ARM Cortex-M4)
  106. # For use with with davidtgbe's OpenBLT bootloader https://github.com/davidtgbe/openblt/releases
  107. # Comment out board_build.offset = 0x10000 if you don't plan to use OpenBLT/flashing directly to 0x08000000.
  108. #
  109. [env:Anet_ET4_OpenBLT]
  110. platform = ${common_stm32.platform}
  111. extends = stm32_variant
  112. board = marlin_STM32F407VGT6_CCM
  113. board_build.variant = MARLIN_F4x7Vx
  114. board_build.encrypt = firmware.srec
  115. board_build.offset = 0x10000
  116. board_upload.offset_address = 0x08010000
  117. build_flags = ${stm32_variant.build_flags}
  118. -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
  119. build_unflags = ${stm32_variant.build_unflags}
  120. -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
  121. extra_scripts = ${stm32_variant.extra_scripts}
  122. buildroot/share/PlatformIO/scripts/openblt.py
  123. debug_tool = jlink
  124. upload_protocol = jlink
  125. #
  126. # BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4)
  127. #
  128. [env:BIGTREE_SKR_PRO]
  129. platform = ${common_stm32.platform}
  130. extends = stm32_variant
  131. board = marlin_BigTree_SKR_Pro
  132. board_build.offset = 0x8000
  133. build_flags = ${stm32_variant.build_flags} -DSTM32F407_5ZX
  134. debug_tool = stlink
  135. upload_protocol = stlink
  136. #
  137. # BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4) with USB Flash Drive Support
  138. #
  139. [env:BIGTREE_SKR_PRO_usb_flash_drive]
  140. platform = ${common_stm32.platform}
  141. extends = env:BIGTREE_SKR_PRO
  142. platform_packages = ${stm_flash_drive.platform_packages}
  143. build_flags = ${stm_flash_drive.build_flags} -DSTM32F407_5ZX
  144. build_unflags = ${env:BIGTREE_SKR_PRO.build_unflags} -DUSBCON -DUSBD_USE_CDC
  145. #
  146. # BigTreeTech E3 RRF (STM32F407VGT6 ARM Cortex-M4)
  147. #
  148. [env:BIGTREE_E3_RRF]
  149. platform = ${common_stm32.platform}
  150. extends = stm32_variant
  151. board = marlin_STM32F407VGT6_CCM
  152. board_build.variant = MARLIN_BIGTREE_E3_RRF
  153. board_build.offset = 0x8000
  154. build_flags = ${stm32_variant.build_flags}
  155. -DSTM32F407_5VX
  156. -DMF_RX_BUFFER_SIZE=255
  157. -DMF_TX_BUFFER_SIZE=255
  158. #
  159. # Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4)
  160. #
  161. [env:BIGTREE_GTR_V1_0]
  162. platform = ${common_stm32.platform}
  163. extends = stm32_variant
  164. board = marlin_BigTree_GTR_v1
  165. board_build.offset = 0x8000
  166. build_flags = ${stm32_variant.build_flags} -DSTM32F407IX
  167. #
  168. # Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4) with USB Flash Drive Support
  169. #
  170. [env:BIGTREE_GTR_V1_0_usb_flash_drive]
  171. platform = ${common_stm32.platform}
  172. extends = env:BIGTREE_GTR_V1_0
  173. platform_packages = ${stm_flash_drive.platform_packages}
  174. build_flags = ${stm_flash_drive.build_flags} -DSTM32F407IX
  175. build_unflags = ${env:BIGTREE_GTR_V1_0.build_unflags} -DUSBCON -DUSBD_USE_CDC
  176. #
  177. # BigTreeTech BTT002 V1.0 (STM32F407VGT6 ARM Cortex-M4)
  178. #
  179. [env:BIGTREE_BTT002]
  180. platform = ${common_stm32.platform}
  181. extends = stm32_variant
  182. board = marlin_BigTree_BTT002
  183. board_build.offset = 0x8000
  184. build_flags = ${stm32_variant.build_flags}
  185. -DSTM32F407_5VX
  186. -DHAVE_HWSERIAL2
  187. -DHAVE_HWSERIAL3
  188. -DPIN_SERIAL2_RX=PD_6
  189. -DPIN_SERIAL2_TX=PD_5
  190. #
  191. # BigTreeTech SKR V2.0 (STM32F407VGT6 ARM Cortex-M4) with USB Flash Drive Support
  192. #
  193. [env:BIGTREE_SKR_2]
  194. platform = ${common_stm32.platform}
  195. extends = stm32_variant
  196. platform_packages = ${stm_flash_drive.platform_packages}
  197. board = marlin_STM32F407VGT6_CCM
  198. board_build.variant = MARLIN_F4x7Vx
  199. board_build.offset = 0x8000
  200. board_upload.offset_address = 0x08008000
  201. build_flags = ${stm_flash_drive.build_flags}
  202. -DUSE_USBHOST_HS -DUSE_USB_HS_IN_FS
  203. -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6
  204. -DHSE_VALUE=8000000U -DHAL_SD_MODULE_ENABLED
  205. -DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8
  206. #
  207. # BigTreeTech SKR V2.0 (STM32F407VGT6 ARM Cortex-M4) with USB Media Share Support
  208. #
  209. [env:BIGTREE_SKR_2_USB]
  210. platform = ${common_stm32.platform}
  211. extends = env:BIGTREE_SKR_2
  212. build_flags = ${env:BIGTREE_SKR_2.build_flags} -DUSBD_USE_CDC_MSC
  213. build_unflags = ${env:BIGTREE_SKR_2.build_unflags} -DUSBD_USE_CDC
  214. #
  215. # BigTreeTech Octopus V1.0/1.1 (STM32F446ZET6 ARM Cortex-M4)
  216. #
  217. [env:BIGTREE_OCTOPUS_V1]
  218. platform = ${common_stm32.platform}
  219. extends = stm32_variant
  220. board = marlin_BigTree_Octopus_v1
  221. board_build.offset = 0x8000
  222. build_flags = ${stm32_variant.build_flags}
  223. -DSTM32F446_5VX -DUSE_USB_HS_IN_FS
  224. #
  225. # BigTreeTech Octopus V1.0/1.1 (STM32F446ZET6 ARM Cortex-M4) with USB Flash Drive Support
  226. #
  227. [env:BIGTREE_OCTOPUS_V1_USB]
  228. platform = ${common_stm32.platform}
  229. extends = env:BIGTREE_OCTOPUS_V1
  230. platform_packages = ${stm_flash_drive.platform_packages}
  231. build_unflags = -DUSBD_USE_CDC
  232. build_flags = ${stm_flash_drive.build_flags}
  233. -DSTM32F446_5VX -DUSE_USB_HS_IN_FS
  234. -DUSE_USBHOST_HS -DUSBD_IRQ_PRIO=5
  235. -DUSBD_IRQ_SUBPRIO=6
  236. -DUSBD_USE_CDC_MSC
  237. #
  238. # Lerdge base
  239. #
  240. [lerdge_common]
  241. platform = ${common_stm32.platform}
  242. extends = stm32_variant
  243. board = marlin_STM32F407ZGT6
  244. board_build.variant = MARLIN_LERDGE
  245. board_build.encrypt = firmware.bin
  246. board_build.offset = 0x10000
  247. build_flags = ${stm32_variant.build_flags}
  248. -DSTM32F4 -DSTM32F4xx -DTARGET_STM32F4
  249. -DDISABLE_GENERIC_SERIALUSB -DARDUINO_ARCH_STM32 -DLERDGE_TFT35
  250. build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
  251. extra_scripts = ${stm32_variant.extra_scripts}
  252. buildroot/share/PlatformIO/scripts/lerdge.py
  253. #
  254. # Lerdge X (STM32F407VE)
  255. #
  256. [env:LERDGEX]
  257. platform = ${lerdge_common.platform}
  258. extends = lerdge_common
  259. board_build.encrypt = Lerdge_X_firmware_force.bin
  260. #
  261. # Lerdge X with USB Flash Drive Support
  262. #
  263. [env:LERDGEX_usb_flash_drive]
  264. platform = ${env:LERDGEX.platform}
  265. extends = env:LERDGEX
  266. platform_packages = ${stm_flash_drive.platform_packages}
  267. build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
  268. #
  269. # Lerdge S (STM32F407ZG)
  270. #
  271. [env:LERDGES]
  272. platform = ${lerdge_common.platform}
  273. extends = lerdge_common
  274. board_build.encrypt = Lerdge_firmware_force.bin
  275. #
  276. # Lerdge S with USB Flash Drive Support
  277. #
  278. [env:LERDGES_usb_flash_drive]
  279. platform = ${env:LERDGES.platform}
  280. extends = env:LERDGES
  281. platform_packages = ${stm_flash_drive.platform_packages}
  282. build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
  283. #
  284. # Lerdge K (STM32F407ZG)
  285. #
  286. [env:LERDGEK]
  287. platform = ${lerdge_common.platform}
  288. extends = lerdge_common
  289. board_build.encrypt = Lerdge_K_firmware_force.bin
  290. build_flags = ${lerdge_common.build_flags} -DLERDGEK
  291. #
  292. # Lerdge K with USB Flash Drive Support
  293. #
  294. [env:LERDGEK_usb_flash_drive]
  295. platform = ${env:LERDGEK.platform}
  296. extends = env:LERDGEK
  297. platform_packages = ${stm_flash_drive.platform_packages}
  298. build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
  299. #
  300. # RUMBA32
  301. #
  302. [env:rumba32]
  303. platform = ${common_stm32.platform}
  304. extends = stm32_variant
  305. board = rumba32_f446ve
  306. board_build.variant = MARLIN_F446VE
  307. board_build.offset = 0x0000
  308. build_flags = ${stm32_variant.build_flags}
  309. -Os -DHAL_PCD_MODULE_ENABLED
  310. -DDISABLE_GENERIC_SERIALUSB
  311. -DHAL_UART_MODULE_ENABLED
  312. -DTIMER_SERIAL=TIM9
  313. monitor_speed = 500000
  314. upload_protocol = dfu
  315. #
  316. # MKS Robin Pro V2
  317. #
  318. [env:mks_robin_pro2]
  319. platform = ${common_stm32.platform}
  320. extends = stm32_variant
  321. platform_packages = ${stm_flash_drive.platform_packages}
  322. board = genericSTM32F407VET6
  323. board_build.variant = MARLIN_F4x7Vx
  324. board_build.offset = 0x0000
  325. board_upload.offset_address = 0x08000000
  326. build_flags = ${stm_flash_drive.build_flags}
  327. build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC
  328. debug_tool = jlink
  329. upload_protocol = jlink
  330. #
  331. # This I2C1(PB6:I2C1_SCL PB7:I2C1_SDA) is used by Robin Nano V3
  332. #
  333. [stm32f4_I2C1]
  334. build_flags = -DPIN_WIRE_SCL=PB6 -DPIN_WIRE_SDA=PB7
  335. #
  336. # MKS Robin Nano V3
  337. #
  338. [env:mks_robin_nano_v3]
  339. platform = ${common_stm32.platform}
  340. extends = stm32_variant
  341. board = marlin_STM32F407VGT6_CCM
  342. board_build.variant = MARLIN_F4x7Vx
  343. board_build.offset = 0xC000
  344. board_upload.offset_address = 0x0800C000
  345. board_build.rename = Robin_nano_v3.bin
  346. build_flags = ${stm32_variant.build_flags} ${stm32f4_I2C1.build_flags}
  347. -DHAL_PCD_MODULE_ENABLED
  348. debug_tool = jlink
  349. upload_protocol = jlink
  350. #
  351. # MKS Robin Nano V3 with USB Flash Drive Support
  352. # Currently, using a STM32duino fork, until USB Host get merged
  353. #
  354. [env:mks_robin_nano_v3_usb_flash_drive]
  355. platform = ${common_stm32.platform}
  356. extends = env:mks_robin_nano_v3
  357. platform_packages = ${stm_flash_drive.platform_packages}
  358. build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags}
  359. -DUSE_USBHOST_HS
  360. -DUSBD_IRQ_PRIO=5
  361. -DUSBD_IRQ_SUBPRIO=6
  362. -DUSE_USB_HS_IN_FS
  363. #
  364. # MKS Robin Nano V3 with USB Flash Drive Support and Shared Media
  365. # Currently, using a STM32duino fork, until USB Host and USB Device MSC get merged
  366. #
  367. [env:mks_robin_nano_v3_usb_flash_drive_msc]
  368. platform = ${common_stm32.platform}
  369. extends = env:mks_robin_nano_v3_usb_flash_drive
  370. build_flags = ${env:mks_robin_nano_v3_usb_flash_drive.build_flags}
  371. -DUSBD_USE_CDC_MSC
  372. build_unflags = -DUSBD_USE_CDC
  373. #
  374. # This I2C1(PB8:I2C1_SCL PB9:I2C1_SDA) is used by MKS Monster8
  375. #
  376. [stm32f4_I2C1_CAN]
  377. build_flags = -DPIN_WIRE_SCL=PB8 -DPIN_WIRE_SDA=PB9
  378. #
  379. # MKS Monster8
  380. #
  381. [env:mks_monster8]
  382. platform = ${common_stm32.platform}
  383. extends = stm32_variant
  384. board = marlin_STM32F407VGT6_CCM
  385. board_build.variant = MARLIN_F4x7Vx
  386. board_build.offset = 0xC000
  387. board_upload.offset_address = 0x0800C000
  388. board_build.rename = mks_monster8.bin
  389. build_flags = ${stm32_variant.build_flags} ${stm32f4_I2C1_CAN.build_flags}
  390. -DHAL_PCD_MODULE_ENABLED
  391. debug_tool = jlink
  392. upload_protocol = jlink
  393. #
  394. # MKS Monster8 with USB Flash Drive Support
  395. # Currently, using a STM32duino fork, until USB Host get merged
  396. #
  397. [env:mks_monster8_usb_flash_drive]
  398. platform = ${common_stm32.platform}
  399. extends = env:mks_monster8
  400. platform_packages = ${stm_flash_drive.platform_packages}
  401. build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1_CAN.build_flags}
  402. -DUSE_USBHOST_HS
  403. -DUSBD_IRQ_PRIO=5
  404. -DUSBD_IRQ_SUBPRIO=6
  405. -DUSE_USB_HS_IN_FS
  406. #
  407. # MKS Monster8 with USB Flash Drive Support and Shared Media
  408. # Currently, using a STM32duino fork, until USB Host and USB Device MSC get merged
  409. #
  410. [env:mks_monster8_usb_flash_drive_msc]
  411. platform = ${common_stm32.platform}
  412. extends = env:mks_monster8_usb_flash_drive
  413. build_flags = ${env:mks_monster8_usb_flash_drive.build_flags}
  414. -DUSBD_USE_CDC_MSC
  415. build_unflags = -DUSBD_USE_CDC
  416. #
  417. # TH3D EZBoard Lite v2.0 (STM32F405RGT6 ARM Cortex-M4)
  418. #
  419. [env:TH3D_EZBoard_Lite_V2]
  420. platform = ${common_stm32.platform}
  421. extends = stm32_variant
  422. board = genericSTM32F405RG
  423. board_build.variant = MARLIN_TH3D_EZBOARD_LITE_V2
  424. board_build.offset = 0xC000
  425. board_upload.offset_address = 0x0800C000
  426. build_flags = ${stm32_variant.build_flags} -DHSE_VALUE=12000000U -O0
  427. debug_tool = stlink
  428. upload_protocol = stlink