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 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431
  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
  13. # 01 : Line/Features
  14. # R : 64 or 66 pins (V:100, Z:144, I:176)
  15. # G : 1024KB Flash-memory (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 = common_stm32
  36. board = marlin_STEVAL_STM32F401VE
  37. build_flags = ${common_stm32.build_flags}
  38. -DARDUINO_STEVAL -DSTM32F401xE
  39. -DDISABLE_GENERIC_SERIALUSB -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
  40. extra_scripts = ${common.extra_scripts}
  41. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  42. #
  43. # STM32F401RC
  44. #
  45. [env:FYSETC_CHEETAH_V20]
  46. platform = ${common_stm32.platform}
  47. extends = common_stm32
  48. board = marlin_FYSETC_CHEETAH_V20
  49. build_flags = ${common_stm32.build_flags} -DSTM32F401xC -DVECT_TAB_OFFSET=0xC000
  50. extra_scripts = ${common.extra_scripts}
  51. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  52. #
  53. # FLYF407ZG
  54. #
  55. [env:FLYF407ZG]
  56. platform = ${common_stm32.platform}
  57. extends = common_stm32
  58. board = marlin_STM32F407ZGT6
  59. board_build.variant = MARLIN_FLY_F407ZG
  60. upload_protocol = dfu
  61. build_flags = ${common_stm32.build_flags}
  62. -DVECT_TAB_OFFSET=0x8000
  63. extra_scripts = ${common.extra_scripts}
  64. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  65. #
  66. # FYSETC S6 (STM32F446RET6 ARM Cortex-M4)
  67. #
  68. [env:FYSETC_S6]
  69. platform = ${common_stm32.platform}
  70. extends = common_stm32
  71. platform_packages = tool-stm32duino
  72. board = marlin_fysetc_s6
  73. build_flags = ${common_stm32.build_flags}
  74. -DVECT_TAB_OFFSET=0x10000
  75. -DHAL_PCD_MODULE_ENABLED
  76. extra_scripts = ${common.extra_scripts}
  77. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  78. debug_tool = stlink
  79. upload_protocol = dfu
  80. upload_command = dfu-util -a 0 -s 0x08010000:leave -D "$SOURCE"
  81. #
  82. # STM32F407VET6 with RAMPS-like shield
  83. # 'Black' STM32F407VET6 board - https://wiki.stm32duino.com/index.php?title=STM32F407
  84. # Shield - https://github.com/jmz52/Hardware
  85. #
  86. [env:STM32F407VE_black]
  87. platform = ${common_stm32.platform}
  88. extends = common_stm32
  89. board = marlin_blackSTM32F407VET6
  90. build_flags = ${common_stm32.build_flags}
  91. -DARDUINO_BLACK_F407VE
  92. -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
  93. extra_scripts = ${common.extra_scripts}
  94. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  95. #
  96. # Anet ET4-MB_V1.x/ET4P-MB_V1.x (STM32F407VGT6 ARM Cortex-M4)
  97. # For use with with davidtgbe's OpenBLT bootloader https://github.com/davidtgbe/openblt/releases
  98. # Comment out board_build.offset = 0x10000 if you don't plan to use OpenBLT/flashing directly to 0x08000000.
  99. #
  100. [env:Anet_ET4_OpenBLT]
  101. platform = ${common_stm32.platform}
  102. extends = common_stm32
  103. build_flags = ${common_stm32.build_flags} -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
  104. board = marlin_STM32F407VGT6_CCM
  105. board_build.core = stm32
  106. board_build.variant = MARLIN_F4x7Vx
  107. board_build.ldscript = ldscript.ld
  108. board_build.encrypt = firmware.srec
  109. # Just openblt.py (not stm32_bootloader.py) generates the file
  110. board_build.offset = 0x10000
  111. board_upload.offset_address = 0x08010000
  112. build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
  113. debug_tool = jlink
  114. upload_protocol = jlink
  115. extra_scripts = ${common.extra_scripts}
  116. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  117. buildroot/share/PlatformIO/scripts/stm32_bootloader.py
  118. buildroot/share/PlatformIO/scripts/openblt.py
  119. #
  120. # BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4)
  121. #
  122. [env:BIGTREE_SKR_PRO]
  123. platform = ${common_stm32.platform}
  124. extends = common_stm32
  125. board = marlin_BigTree_SKR_Pro
  126. build_flags = ${common_stm32.build_flags}
  127. -DSTM32F407_5ZX -DVECT_TAB_OFFSET=0x8000
  128. extra_scripts = ${common.extra_scripts}
  129. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  130. #upload_protocol = stlink
  131. #upload_command = "$PROJECT_PACKAGES_DIR/tool-stm32duino/stlink/ST-LINK_CLI.exe" -c SWD -P "$BUILD_DIR/firmware.bin" 0x8008000 -Rst -Run
  132. debug_tool = stlink
  133. debug_init_break =
  134. #
  135. # USB Flash Drive mix-ins for STM32
  136. #
  137. [stm_flash_drive]
  138. platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/usb-host-msc-cdc-msc-3.zip
  139. build_flags = ${common_stm32.build_flags}
  140. -DHAL_PCD_MODULE_ENABLED -DHAL_HCD_MODULE_ENABLED
  141. -DUSBHOST -DUSBH_IRQ_PRIO=3 -DUSBH_IRQ_SUBPRIO=4
  142. #
  143. # BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4) with USB Flash Drive Support
  144. #
  145. [env:BIGTREE_SKR_PRO_usb_flash_drive]
  146. extends = env:BIGTREE_SKR_PRO
  147. platform_packages = ${stm_flash_drive.platform_packages}
  148. build_unflags = -DUSBCON -DUSBD_USE_CDC
  149. build_flags = ${stm_flash_drive.build_flags}
  150. -DSTM32F407_5ZX -DVECT_TAB_OFFSET=0x8000
  151. #
  152. # BigTreeTech E3 RRF (STM32F407VGT6 ARM Cortex-M4)
  153. #
  154. [env:BIGTREE_E3_RRF]
  155. platform = ${common_stm32.platform}
  156. extends = common_stm32
  157. board = marlin_STM32F407VGT6_CCM
  158. board_build.variant = MARLIN_BIGTREE_E3_RRF
  159. build_flags = ${common_stm32.build_flags}
  160. -DSTM32F407_5VX -DVECT_TAB_OFFSET=0x8000
  161. -DSERIAL_RX_BUFFER_SIZE=255 -DSERIAL_TX_BUFFER_SIZE=255
  162. extra_scripts = ${common.extra_scripts}
  163. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  164. #
  165. # Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4)
  166. #
  167. [env:BIGTREE_GTR_V1_0]
  168. platform = ${common_stm32.platform}
  169. extends = common_stm32
  170. board = marlin_BigTree_GTR_v1
  171. extra_scripts = ${common.extra_scripts}
  172. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  173. build_flags = ${common_stm32.build_flags}
  174. -DSTM32F407IX -DVECT_TAB_OFFSET=0x8000
  175. #
  176. # Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4) with USB Flash Drive Support
  177. #
  178. [env:BIGTREE_GTR_V1_0_usb_flash_drive]
  179. extends = env:BIGTREE_GTR_V1_0
  180. platform_packages = ${stm_flash_drive.platform_packages}
  181. build_unflags = -DUSBCON -DUSBD_USE_CDC
  182. build_flags = ${stm_flash_drive.build_flags}
  183. -DSTM32F407IX -DVECT_TAB_OFFSET=0x8000
  184. #
  185. # BigTreeTech BTT002 V1.0 (STM32F407VGT6 ARM Cortex-M4)
  186. #
  187. [env:BIGTREE_BTT002]
  188. platform = ${common_stm32.platform}
  189. extends = common_stm32
  190. board = marlin_BigTree_BTT002
  191. build_flags = ${common_stm32.build_flags}
  192. -DSTM32F407_5VX -DVECT_TAB_OFFSET=0x8000
  193. -DHAVE_HWSERIAL2
  194. -DHAVE_HWSERIAL3
  195. -DPIN_SERIAL2_RX=PD_6
  196. -DPIN_SERIAL2_TX=PD_5
  197. extra_scripts = ${common.extra_scripts}
  198. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  199. #
  200. # BigTreeTech SKR V2.0 (STM32F407VGT6 ARM Cortex-M4) with USB Flash Drive Support
  201. #
  202. [env:BIGTREE_SKR_2]
  203. platform = ${common_stm32.platform}
  204. platform_packages = ${stm_flash_drive.platform_packages}
  205. extends = common_stm32
  206. board = marlin_STM32F407VGT6_CCM
  207. board_build.core = stm32
  208. board_build.variant = MARLIN_F4x7Vx
  209. board_build.ldscript = ldscript.ld
  210. board_build.offset = 0x8000
  211. board_upload.offset_address = 0x08008000
  212. extra_scripts = ${common.extra_scripts}
  213. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  214. buildroot/share/PlatformIO/scripts/stm32_bootloader.py
  215. build_flags = ${stm_flash_drive.build_flags}
  216. -DUSE_USBHOST_HS -DUSE_USB_HS_IN_FS -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6
  217. -DHSE_VALUE=8000000U -DHAL_SD_MODULE_ENABLED
  218. #
  219. # BigTreeTech Octopus V1.0/1.1 (STM32F446ZET6 ARM Cortex-M4)
  220. #
  221. [env:BIGTREE_OCTOPUS_V1]
  222. platform = ${common_stm32.platform}
  223. extends = common_stm32
  224. board = marlin_BigTree_octopus_v1
  225. extra_scripts = ${common.extra_scripts}
  226. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  227. build_flags = ${common_stm32.build_flags}
  228. -DSTM32F446_5VX -DVECT_TAB_OFFSET=0x8000 -DUSE_USB_HS_IN_FS
  229. #
  230. # BigTreeTech Octopus V1.0/1.1 (STM32F446ZET6 ARM Cortex-M4) with USB Flash Drive Support
  231. #
  232. [env:BIGTREE_OCTOPUS_V1_USB]
  233. extends = env:BIGTREE_OCTOPUS_V1
  234. platform_packages = ${stm_flash_drive.platform_packages}
  235. #build_unflags = -DUSBCON -DUSBD_USE_CDC
  236. build_flags = ${stm_flash_drive.build_flags}
  237. -DSTM32F446_5VX -DVECT_TAB_OFFSET=0x8000
  238. -DUSBCON -DUSE_USBHOST_HS -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6 -DUSE_USB_HS_IN_FS -DUSBD_USE_CDC_MSC
  239. #
  240. # Lerdge base
  241. #
  242. [lerdge_common]
  243. platform = ${common_stm32.platform}
  244. extends = common_stm32
  245. board = marlin_STM32F407ZGT6
  246. board_build.variant = MARLIN_LERDGE
  247. board_build.offset = 0x10000
  248. board_build.encrypt = firmware.bin
  249. extra_scripts = ${common.extra_scripts}
  250. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  251. buildroot/share/PlatformIO/scripts/stm32_bootloader.py
  252. buildroot/share/PlatformIO/scripts/lerdge.py
  253. build_flags = ${common_stm32.build_flags}
  254. -DSTM32F4 -DSTM32F4xx -DTARGET_STM32F4
  255. -DDISABLE_GENERIC_SERIALUSB -DARDUINO_ARCH_STM32 -DARDUINO_LERDGE
  256. -DHAL_SRAM_MODULE_ENABLED
  257. build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
  258. #
  259. # Lerdge X
  260. #
  261. [env:LERDGEX]
  262. platform = ${lerdge_common.platform}
  263. extends = lerdge_common
  264. board_build.encrypt = Lerdge_X_firmware_force.bin
  265. #
  266. # Lerdge X with USB Flash Drive Support
  267. #
  268. [env:LERDGEX_usb_flash_drive]
  269. platform = ${env:LERDGEX.platform}
  270. extends = env:LERDGEX
  271. platform_packages = ${stm_flash_drive.platform_packages}
  272. build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
  273. #
  274. # Lerdge S
  275. #
  276. [env:LERDGES]
  277. platform = ${lerdge_common.platform}
  278. extends = lerdge_common
  279. board_build.encrypt = Lerdge_firmware_force.bin
  280. #
  281. # Lerdge S with USB Flash Drive Support
  282. #
  283. [env:LERDGES_usb_flash_drive]
  284. platform = ${env:LERDGES.platform}
  285. extends = env:LERDGES
  286. platform_packages = ${stm_flash_drive.platform_packages}
  287. build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
  288. #
  289. # Lerdge K
  290. #
  291. [env:LERDGEK]
  292. platform = ${lerdge_common.platform}
  293. extends = lerdge_common
  294. board_build.encrypt = Lerdge_K_firmware_force.bin
  295. build_flags = ${lerdge_common.build_flags} -DLERDGEK
  296. #
  297. # Lerdge K with USB Flash Drive Support
  298. #
  299. [env:LERDGEK_usb_flash_drive]
  300. platform = ${env:LERDGEK.platform}
  301. extends = env:LERDGEK
  302. platform_packages = ${stm_flash_drive.platform_packages}
  303. build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
  304. #
  305. # RUMBA32
  306. #
  307. [env:rumba32]
  308. platform = ${common_stm32.platform}
  309. extends = common_stm32
  310. build_flags = ${common_stm32.build_flags}
  311. -Os
  312. -DHAL_PCD_MODULE_ENABLED
  313. -DDISABLE_GENERIC_SERIALUSB
  314. -DHAL_UART_MODULE_ENABLED
  315. -DTIMER_SERIAL=TIM9
  316. board = rumba32_f446ve
  317. upload_protocol = dfu
  318. monitor_speed = 500000
  319. board_build.core = stm32
  320. board_build.variant = MARLIN_F446VE
  321. board_build.ldscript = ldscript.ld
  322. board_build.offset = 0x0000
  323. extra_scripts = ${common.extra_scripts}
  324. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  325. buildroot/share/PlatformIO/scripts/stm32_bootloader.py
  326. #
  327. # MKS Robin Pro V2
  328. #
  329. [env:mks_robin_pro2]
  330. platform = ${common_stm32.platform}
  331. platform_packages = ${stm_flash_drive.platform_packages}
  332. extends = common_stm32
  333. build_flags = ${stm_flash_drive.build_flags}
  334. board = genericSTM32F407VET6
  335. board_build.core = stm32
  336. board_build.variant = MARLIN_F4x7Vx
  337. board_build.ldscript = ldscript.ld
  338. board_build.offset = 0x0000
  339. board_upload.offset_address = 0x08000000
  340. build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
  341. debug_tool = jlink
  342. upload_protocol = jlink
  343. extra_scripts = ${common.extra_scripts}
  344. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  345. buildroot/share/PlatformIO/scripts/stm32_bootloader.py
  346. #
  347. # This SPI is used by Robin Nano V3
  348. #
  349. [stm32f4_I2C1]
  350. build_flags = -DPIN_WIRE_SCL=PB6 -DPIN_WIRE_SDA=PB7
  351. #
  352. # MKS Robin Nano V3
  353. #
  354. [env:mks_robin_nano_v3]
  355. platform = ${common_stm32.platform}
  356. extends = common_stm32
  357. build_flags = ${common_stm32.build_flags} ${stm32f4_I2C1.build_flags} -DHAL_PCD_MODULE_ENABLED -DUSBCON -DUSBD_USE_CDC
  358. board = marlin_STM32F407VGT6_CCM
  359. board_build.core = stm32
  360. board_build.variant = MARLIN_F4x7Vx
  361. board_build.ldscript = ldscript.ld
  362. board_build.rename = Robin_nano_v3.bin
  363. board_build.offset = 0xC000
  364. board_upload.offset_address = 0x0800C000
  365. build_unflags = ${common_stm32.build_unflags}
  366. debug_tool = jlink
  367. upload_protocol = jlink
  368. extra_scripts = ${common.extra_scripts}
  369. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  370. buildroot/share/PlatformIO/scripts/stm32_bootloader.py
  371. #
  372. # MKS Robin Nano V3 with USB Flash Drive Support
  373. # Currently, using a STM32duino fork, until USB Host get merged
  374. #
  375. [env:mks_robin_nano_v3_usb_flash_drive]
  376. extends = env:mks_robin_nano_v3
  377. platform_packages = ${stm_flash_drive.platform_packages}
  378. build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags}
  379. -DUSBCON
  380. -DUSE_USBHOST_HS
  381. -DUSBD_IRQ_PRIO=5
  382. -DUSBD_IRQ_SUBPRIO=6
  383. -DUSE_USB_HS_IN_FS
  384. -DUSBD_USE_CDC
  385. #
  386. # MKS Robin Nano V3 with USB Flash Drive Support and Shared Media
  387. # Currently, using a STM32duino fork, until USB Host and USB Device MSC get merged
  388. #
  389. [env:mks_robin_nano_v3_usb_flash_drive_msc]
  390. platform = ${common_stm32.platform}
  391. extends = env:mks_robin_nano_v3
  392. platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/usb-host-msc-cdc-msc-3.zip
  393. build_unflags = ${common_stm32.build_unflags} -DUSBD_USE_CDC
  394. build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags}
  395. -DUSBCON
  396. -DUSE_USBHOST_HS
  397. -DUSBD_IRQ_PRIO=5
  398. -DUSBD_IRQ_SUBPRIO=6
  399. -DUSE_USB_HS_IN_FS
  400. -DUSBD_USE_CDC_MSC