platformio.ini 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. ; PlatformIO Project Configuration File https://docs.platformio.org/page/projectconf.html
  2. [platformio]
  3. default_envs = ZuluSCSIv1_0, ZuluSCSIv1_0_mini, ZuluSCSIv1_1, ZuluSCSI_RP2040, ZuluSCSI_RP2040_Audio, ZuluSCSI_Pico, ZuluSCSI_BS2
  4. ; Example platform to serve as a base for porting efforts
  5. [env:template]
  6. platform = ststm32
  7. framework = arduino
  8. board = bluepill_f103c8
  9. build_flags =
  10. -Os -Isrc
  11. -DLOGBUFSIZE=512
  12. -DPREFETCH_BUFFER_SIZE=0
  13. -DMAX_SECTOR_SIZE=2048
  14. -DSCSI2SD_BUFFER_SIZE=4096
  15. -DINI_CACHE_SIZE=0
  16. -DUSE_ARDUINO=1
  17. lib_deps =
  18. SdFat=https://github.com/rabbitholecomputing/SdFat#2.2.0-gpt
  19. minIni
  20. ZuluSCSI_platform_template
  21. SCSI2SD
  22. CUEParser
  23. ; ZuluSCSI V1.0 hardware platform with GD32F205 CPU.
  24. [env:ZuluSCSIv1_0]
  25. platform = https://github.com/CommunityGD32Cores/platform-gd32.git
  26. board = genericGD32F205VC
  27. board_build.mcu = gd32f205vct6
  28. board_build.core = gd32
  29. board_build.ldscript = lib/ZuluSCSI_platform_GD32F205/zuluscsi_gd32f205.ld
  30. ldscript_bootloader = lib/ZuluSCSI_platform_GD32F205/zuluscsi_gd32f205_btldr.ld
  31. framework = spl
  32. lib_compat_mode = off
  33. lib_deps =
  34. SdFat_NoArduino
  35. minIni
  36. ZuluSCSI_platform_GD32F205
  37. SCSI2SD
  38. CUEParser
  39. upload_protocol = stlink
  40. platform_packages = platformio/toolchain-gccarmnoneeabi@1.100301.220327
  41. framework-spl-gd32@https://github.com/CommunityGD32Cores/gd32-pio-spl-package.git
  42. extra_scripts = src/build_bootloader.py
  43. debug_build_flags = -Os -ggdb -g3
  44. build_flags =
  45. -Os -Wall -Wno-sign-compare -ggdb -g3 -Isrc
  46. -D__SYSTEM_CLOCK_120M_PLL_IRC8M=120000000
  47. -DSPI_DRIVER_SELECT=3
  48. -DSD_CHIP_SELECT_MODE=2
  49. -DENABLE_DEDICATED_SPI=1
  50. -DZULUSCSI_V1_0
  51. ; ZuluSCSI V1.0 mini hardware platform with GD32F205 CPU.
  52. [env:ZuluSCSIv1_0_mini]
  53. extends = env:ZuluSCSIv1_0
  54. build_flags =
  55. -Os -Wall -Wno-sign-compare -ggdb -g3 -Isrc
  56. -D__SYSTEM_CLOCK_120M_PLL_IRC8M=120000000
  57. -DSPI_DRIVER_SELECT=3
  58. -DSD_CHIP_SELECT_MODE=2
  59. -DENABLE_DEDICATED_SPI=1
  60. -DZULUSCSI_V1_0
  61. -DZULUSCSI_V1_0_mini
  62. ; ZuluSCSI V1.1 hardware platform, similar to V1.0 but with improved performance.
  63. [env:ZuluSCSIv1_1]
  64. extends = env:ZuluSCSIv1_0
  65. build_flags =
  66. -Os -Wall -Wno-sign-compare -ggdb -g3 -Isrc
  67. -D__SYSTEM_CLOCK_120M_PLL_IRC8M=120000000
  68. -DSPI_DRIVER_SELECT=3
  69. -DSD_CHIP_SELECT_MODE=2
  70. -DENABLE_DEDICATED_SPI=1
  71. -DHAS_SDIO_CLASS
  72. -DZULUSCSI_V1_1
  73. ; ZuluSCSI RP2040 hardware platform, based on the Raspberry Pi foundation RP2040 microcontroller
  74. [env:ZuluSCSI_RP2040]
  75. platform = raspberrypi@1.9.0
  76. framework = arduino
  77. board = ZuluSCSI_RP2040
  78. extra_scripts = src/build_bootloader.py
  79. platform_packages = platformio/toolchain-gccarmnoneeabi@1.100301.220327
  80. board_build.ldscript = lib/ZuluSCSI_platform_RP2040/rp2040.ld
  81. ldscript_bootloader = lib/ZuluSCSI_platform_RP2040/rp2040_btldr.ld
  82. lib_deps =
  83. SdFat=https://github.com/rabbitholecomputing/SdFat#2.2.0-gpt
  84. minIni
  85. ZuluSCSI_platform_RP2040
  86. SCSI2SD
  87. CUEParser
  88. debug_build_flags =
  89. -O2 -ggdb -g3
  90. ; The values can be adjusted down to get a debug build to fit to SRAM
  91. -DLOGBUFSIZE=4096
  92. ; -DPREFETCH_BUFFER_SIZE=2048
  93. build_flags =
  94. -O2 -Isrc -ggdb -g3
  95. -Wall -Wno-sign-compare -Wno-ignored-qualifiers
  96. -DSPI_DRIVER_SELECT=3
  97. -DSD_CHIP_SELECT_MODE=2
  98. -DENABLE_DEDICATED_SPI=1
  99. -DHAS_SDIO_CLASS
  100. -DUSE_ARDUINO=1
  101. -DZULUSCSI_V2_0
  102. ; ZuluSCSI RP2040 hardware platform, as above, but with audio output support enabled
  103. [env:ZuluSCSI_RP2040_Audio]
  104. extends = env:ZuluSCSI_RP2040
  105. build_flags =
  106. ${env:ZuluSCSI_RP2040.build_flags}
  107. -DENABLE_AUDIO_OUTPUT
  108. -DLOGBUFSIZE=8192
  109. ; Variant of RP2040 platform, based on Raspberry Pico board and a carrier PCB
  110. ; Part of the ZuluSCSI_RP2040 platform, but with different pins.
  111. [env:ZuluSCSI_Pico]
  112. extends = env:ZuluSCSI_RP2040
  113. build_flags =
  114. -O2 -Isrc -ggdb -g3
  115. -Wall -Wno-sign-compare -Wno-ignored-qualifiers
  116. -DSPI_DRIVER_SELECT=3
  117. -DSD_CHIP_SELECT_MODE=2
  118. -DENABLE_DEDICATED_SPI=1
  119. -DHAS_SDIO_CLASS
  120. -DUSE_ARDUINO=1
  121. -DZULUSCSI_PICO
  122. ; Build for the ZuluSCSI Pico carrier board with a Pico-W
  123. ; for SCSI DaynaPORT emulation
  124. [env:ZuluSCSI_Pico_DaynaPORT]
  125. platform = https://github.com/maxgerhardt/platform-raspberrypi.git
  126. platform_packages =
  127. framework-arduinopico@https://github.com/rabbitholecomputing/arduino-pico.git#v3.6.0-DaynaPORT
  128. framework = arduino
  129. board = rpipicow
  130. board_build.core = earlephilhower
  131. extra_scripts = src/build_bootloader.py
  132. ldscript_bootloader = lib/ZuluSCSI_platform_RP2040/rp2040_btldr.ld
  133. board_build.ldscript = lib/ZuluSCSI_platform_RP2040/rp2040-daynaport.ld
  134. debug_tool = cmsis-dap
  135. debug_build_flags =
  136. -O2 -ggdb -g3
  137. ; The values can be adjusted down to get a debug build to fit to SRAM
  138. -DLOGBUFSIZE=2048
  139. -DPREFETCH_BUFFER_SIZE=2048
  140. ; This controls the depth of 2 x NETWORK_PACKET_MAX_SIZE (1520 bytes)
  141. ; For example a queue size of 10 would be 10 x 2 x 1520 = 30400 bytes
  142. -DNETWORK_PACKET_QUEUE_SIZE=3
  143. lib_deps =
  144. SdFat=https://github.com/rabbitholecomputing/SdFat#2.2.0-gpt
  145. minIni
  146. ZuluSCSI_platform_RP2040
  147. SCSI2SD
  148. CUEParser
  149. build_flags =
  150. -O2 -Isrc -ggdb -g3
  151. -Wall -Wno-sign-compare -Wno-ignored-qualifiers
  152. -DSPI_DRIVER_SELECT=3
  153. -DSD_CHIP_SELECT_MODE=2
  154. -DENABLE_DEDICATED_SPI=1
  155. -DHAS_SDIO_CLASS
  156. -DUSE_ARDUINO=1
  157. -DZULUSCSI_PICO
  158. -DZULUSCSI_NETWORK
  159. -DZULUSCSI_DAYNAPORT
  160. ; These take a large portion of the SRAM and can be adjusted
  161. ; It is important to leave enough free space for USB serial to work
  162. ; Around 7220 bytes seems to be enough.
  163. -DLOGBUFSIZE=6144
  164. -DPREFETCH_BUFFER_SIZE=8192
  165. ; This controls the depth of 2 x NETWORK_PACKET_MAX_SIZE (1520 bytes)
  166. ; For example a queue size of 10 would be 10 x 2 x 1520 = 30400 bytes
  167. -DNETWORK_PACKET_QUEUE_SIZE=10
  168. ; build flags mirroring the framework-arduinopico#v3.6.0-DaynaPORT static library build
  169. -DPICO_CYW43_ARCH_POLL=1
  170. -DCYW43_LWIP=0
  171. -DCYW43_USE_OTP_MAC=0
  172. ; Variant of RP2040 platform, based on Raspberry Pico board and a carrier PCB
  173. ; Differs in pinout from ZuluSCSI_RP2040 platform, but shares most of the code.
  174. [env:ZuluSCSI_BS2]
  175. extends = env:ZuluSCSI_RP2040
  176. build_flags =
  177. -O2 -Isrc -ggdb -g3
  178. -Wall -Wno-sign-compare -Wno-ignored-qualifiers
  179. -DSPI_DRIVER_SELECT=3
  180. -DSD_CHIP_SELECT_MODE=2
  181. -DENABLE_DEDICATED_SPI=1
  182. -DHAS_SDIO_CLASS
  183. -DUSE_ARDUINO=1
  184. -DZULUSCSI_BS2
  185. ; ZuluSCSI F4 hardware platform with GD32F450ZET6 CPU.
  186. [env:ZuluSCSIv1_4]
  187. platform = https://github.com/CommunityGD32Cores/platform-gd32.git
  188. board = genericGD32F450ZE
  189. board_build.mcu = gd32f450zet6
  190. board_build.core = gd32
  191. board_build.ldscript = lib/ZuluSCSI_platform_GD32F450/zuluscsi_gd32f450.ld
  192. ldscript_bootloader = lib/ZuluSCSI_platform_GD32F450/zuluscsi_gd32f450_btldr.ld
  193. framework = spl
  194. lib_compat_mode = off
  195. lib_deps =
  196. GD32F4xx_usbfs_library
  197. SdFat_NoArduino
  198. minIni
  199. ZuluSCSI_platform_GD32F450
  200. SCSI2SD
  201. CUEParser
  202. upload_protocol = stlink
  203. platform_packages =
  204. toolchain-gccarmnoneeabi@1.90201.191206
  205. framework-spl-gd32@https://github.com/CommunityGD32Cores/gd32-pio-spl-package.git
  206. extra_scripts = src/build_bootloader.py
  207. debug_tool = cmsis-dap
  208. debug_build_flags = -Os -ggdb -g3
  209. build_flags =
  210. -Os -Wall -Wno-sign-compare -ggdb -g3 -Isrc
  211. -D__SYSTEM_CLOCK_200M_PLL_IRC16M=200000000
  212. -DSPI_DRIVER_SELECT=3
  213. -DSD_CHIP_SELECT_MODE=2
  214. -DENABLE_DEDICATED_SPI=1
  215. -DHAS_SDIO_CLASS
  216. -DPIO_USBFS_DEVICE_CDC
  217. -DZULUSCSI_V1_4