# STM32 Boards

menu.device_variant=Variant
menu.bootloader_version=Bootloader version
menu.upload_method=Upload method
menu.cpu_speed=CPU Speed(MHz)
menu.opt=Optimize

##############################################################
mapleMini.name=Maple Mini

mapleMini.build.board=MAPLE_MINI
mapleMini.vid.0=0x1EAF
mapleMini.pid.0=0x0004
mapleMini.build.core=maple
mapleMini.build.cpu_flags=-DMCU_STM32F103CB -DSERIAL_USB
mapleMini.build.variant=maple_mini
mapleMini.upload.usbID=1EAF:0003

mapleMini.upload.tool=maple_upload
mapleMini.upload.protocol=maple_dfu
mapleMini.upload.use_1200bps_touch=false
mapleMini.upload.file_type=bin
mapleMini.upload.auto_reset=true

mapleMini.menu.bootloader_version.original = Original (17k RAM,108k Flash)
mapleMini.menu.bootloader_version.original.build.vect=VECT_TAB_ADDR=0x8005000
mapleMini.menu.bootloader_version.original.build.ldscript=ld/flash.ld
mapleMini.menu.bootloader_version.original.upload.maximum_size=110592
mapleMini.menu.bootloader_version.original.upload.maximum_data_size=17408
mapleMini.menu.bootloader_version.original.upload.altID=1

mapleMini.menu.bootloader_version.bootloader20 = Bootloader 2.0 (20k RAM,120k Flash)
mapleMini.menu.bootloader_version.bootloader20.build.vect=VECT_TAB_ADDR=0x8002000
mapleMini.menu.bootloader_version.bootloader20.build.ldscript=ld/bootloader_20.ld
mapleMini.menu.bootloader_version.bootloader20.upload.maximum_size=122880
mapleMini.menu.bootloader_version.bootloader20.upload.maximum_data_size=20480
mapleMini.menu.bootloader_version.bootloader20.upload.altID=2

#-- CPU Clock frequency
mapleMini.menu.cpu_speed.speed_72mhz=72MHz (Normal)
mapleMini.menu.cpu_speed.speed_72mhz.build.f_cpu=72000000L

mapleMini.menu.cpu_speed.speed_48mhz=48MHz (Slow - with USB)
mapleMini.menu.cpu_speed.speed_48mhz.build.f_cpu=48000000L

mapleMini.menu.cpu_speed.speed_128mhz=Overclocked 128MHz NO USB SERIAL. MANUAL RESET NEEDED TO UPLOAD
mapleMini.menu.cpu_speed.speed_128mhz.build.f_cpu=128000000L

#-- Optimizations
mapleMini.menu.opt.osstd=Smallest (default)
#mapleMini.menu.opt.oslto=Smallest Code with LTO
#mapleMini.menu.opt.oslto.build.flags.optimize=-Os -flto
#mapleMini.menu.opt.oslto.build.flags.ldspecs=-flto
mapleMini.menu.opt.o1std=Fast (-O1)
mapleMini.menu.opt.o1std.build.flags.optimize=-O1
mapleMini.menu.opt.o1std.build.flags.ldspecs=
#mapleMini.menu.opt.o1lto=Fast (-O1) with LTO
#mapleMini.menu.opt.o1lto.build.flags.optimize=-O1 -flto
#mapleMini.menu.opt.o1lto.build.flags.ldspecs=-flto
mapleMini.menu.opt.o2std=Faster (-O2)
mapleMini.menu.opt.o2std.build.flags.optimize=-O2
mapleMini.menu.opt.o2std.build.flags.ldspecs=
#mapleMini.menu.opt.o2lto=Faster (-O2) with LTO
#mapleMini.menu.opt.o2lto.build.flags.optimize=-O2 -flto
#mapleMini.menu.opt.o2lto.build.flags.ldspecs=-flto
mapleMini.menu.opt.o3std=Fastest (-O3)
mapleMini.menu.opt.o3std.build.flags.optimize=-O3
mapleMini.menu.opt.o3std.build.flags.ldspecs=
#mapleMini.menu.opt.o3lto=Fastest (-O3) with LTO
#mapleMini.menu.opt.o3lto.build.flags.optimize=-O3 -flto
#mapleMini.menu.opt.o3lto.build.flags.ldspecs=-flto
mapleMini.menu.opt.ogstd=Debug (-g)
mapleMini.menu.opt.ogstd.build.flags.optimize=-Og
mapleMini.menu.opt.ogstd.build.flags.ldspecs=


##############################################################
maple.name=Maple (Rev 3)

maple.vid.0=0x1EAF
maple.pid.0=0x0004
maple.upload.tool=maple_upload
maple.upload.protocol=maple_dfu
maple.upload.maximum_size=108000
maple.upload.maximum_data_size=17000
maple.upload.use_1200bps_touch=false
maple.upload.file_type=bin
maple.upload.usbID=1EAF:0003
maple.upload.altID=1
maple.upload.auto_reset=true

maple.build.board=MAPLE_REV3
maple.build.core=maple
maple.build.cpu_flags=-DMCU_STM32F103RB -DSERIAL_USB
maple.build.ldscript=ld/flash.ld
maple.build.variant=maple
maple.build.vect=VECT_TAB_ADDR=0x8005000

#-- CPU Clock frequency
maple.menu.cpu_speed.speed_72mhz=72Mhz (Normal)
maple.menu.cpu_speed.speed_72mhz.build.f_cpu=72000000L

maple.menu.cpu_speed.speed_48mhz=48Mhz (Slow - with USB)
maple.menu.cpu_speed.speed_48mhz.build.f_cpu=48000000L

maple.menu.cpu_speed.speed_128mhz=Overclocked 128Mhz NO USB SERIAL. MANUAL RESET NEEDED TO UPLOAD
maple.menu.cpu_speed.speed_128mhz.build.f_cpu=128000000L

#-- Optimizations
maple.menu.opt.osstd=Smallest (default)
#maple.menu.opt.oslto=Smallest Code with LTO
#maple.menu.opt.oslto.build.flags.optimize=-Os -flto
#maple.menu.opt.oslto.build.flags.ldspecs=-flto
maple.menu.opt.o1std=Fast (-O1)
maple.menu.opt.o1std.build.flags.optimize=-O1
maple.menu.opt.o1std.build.flags.ldspecs=
#maple.menu.opt.o1lto=Fast (-O1) with LTO
#maple.menu.opt.o1lto.build.flags.optimize=-O1 -flto
#maple.menu.opt.o1lto.build.flags.ldspecs=-flto
maple.menu.opt.o2std=Faster (-O2)
maple.menu.opt.o2std.build.flags.optimize=-O2
maple.menu.opt.o2std.build.flags.ldspecs=
#maple.menu.opt.o2lto=Faster (-O2) with LTO
#maple.menu.opt.o2lto.build.flags.optimize=-O2 -flto
#maple.menu.opt.o2lto.build.flags.ldspecs=-flto
maple.menu.opt.o3std=Fastest (-O3)
maple.menu.opt.o3std.build.flags.optimize=-O3
maple.menu.opt.o3std.build.flags.ldspecs=
#maple.menu.opt.o3lto=Fastest (-O3) with LTO
#maple.menu.opt.o3lto.build.flags.optimize=-O3 -flto
#maple.menu.opt.o3lto.build.flags.ldspecs=-flto
maple.menu.opt.ogstd=Debug (-g)
maple.menu.opt.ogstd.build.flags.optimize=-Og
maple.menu.opt.ogstd.build.flags.ldspecs=

##############################################################
mapleRET6.name=Maple (RET6)

mapleRET6.vid.0=0x1EAF
mapleRET6.pid.0=0x0004
mapleRET6.build.board=MAPLE_RET6
mapleRET6.build.core=maple
mapleRET6.build.cpu_flags=-DMCU_STM32F103RE -DSERIAL_USB

mapleRET6.build.ldscript=ld/stm32f103re-bootloader.ld
mapleRET6.build.variant=maple_ret6
mapleRET6.build.vect=VECT_TAB_ADDR=0x8005000

mapleRET6.upload.tool=maple_upload
mapleRET6.upload.protocol=maple_dfu
mapleRET6.upload.maximum_size=262144
mapleRET6.upload.maximum_data_size=49152
mapleRET6.upload.use_1200bps_touch=false
mapleRET6.upload.file_type=bin
mapleRET6.upload.usbID=1EAF:0003
mapleRET6.upload.altID=1
mapleRET6.upload.auto_reset=true

#-- CPU Clock frequency
mapleRET6.menu.cpu_speed.speed_72mhz=72Mhz (Normal)
mapleRET6.menu.cpu_speed.speed_72mhz.build.f_cpu=72000000L

mapleRET6.menu.cpu_speed.speed_48mhz=48Mhz (Slow - with USB)
mapleRET6.menu.cpu_speed.speed_48mhz.build.f_cpu=48000000L

mapleRET6.menu.cpu_speed.speed_128mhz=Overclocked 128Mhz NO USB SERIAL. MANUAL RESET NEEDED TO UPLOAD
mapleRET6.menu.cpu_speed.speed_128mhz.build.f_cpu=128000000L


#-- Optimizations
mapleRET6.menu.opt.osstd=Smallest (default)
#mapleRET6.menu.opt.oslto=Smallest Code with LTO
#mapleRET6.menu.opt.oslto.build.flags.optimize=-Os -flto
#mapleRET6.menu.opt.oslto.build.flags.ldspecs=-flto
mapleRET6.menu.opt.o1std=Fast (-O1)
mapleRET6.menu.opt.o1std.build.flags.optimize=-O1
mapleRET6.menu.opt.o1std.build.flags.ldspecs=
#mapleRET6.menu.opt.o1lto=Fast (-O1) with LTO
#mapleRET6.menu.opt.o1lto.build.flags.optimize=-O1 -flto
#mapleRET6.menu.opt.o1lto.build.flags.ldspecs=-flto
mapleRET6.menu.opt.o2std=Faster (-O2)
mapleRET6.menu.opt.o2std.build.flags.optimize=-O2
mapleRET6.menu.opt.o2std.build.flags.ldspecs=
#mapleRET6.menu.opt.o2lto=Faster (-O2) with LTO
#mapleRET6.menu.opt.o2lto.build.flags.optimize=-O2 -flto
#mapleRET6.menu.opt.o2lto.build.flags.ldspecs=-flto
mapleRET6.menu.opt.o3std=Fastest (-O3)
mapleRET6.menu.opt.o3std.build.flags.optimize=-O3
mapleRET6.menu.opt.o3std.build.flags.ldspecs=
#mapleRET6.menu.opt.o3lto=Fastest (-O3) with LTO
#mapleRET6.menu.opt.o3lto.build.flags.optimize=-O3 -flto
#mapleRET6.menu.opt.o3lto.build.flags.ldspecs=-flto
mapleRET6.menu.opt.ogstd=Debug (-g)
mapleRET6.menu.opt.ogstd.build.flags.optimize=-Og
mapleRET6.menu.opt.ogstd.build.flags.ldspecs=

##############################################################

microduino32_flash.name=Microduino Core STM32 to Flash

microduino32_flash.vid.0=0x1EAF
microduino32_flash.pid.0=0x0004
microduino32_flash.upload.tool=maple_upload
microduino32_flash.upload.protocol=maple_dfu
microduino32_flash.upload.maximum_size=108000
microduino32_flash.upload.maximum_data_size=17000
microduino32_flash.upload.use_1200bps_touch=false
microduino32_flash.upload.file_type=bin
microduino32_flash.upload.usbID=1EAF:0003
microduino32_flash.upload.altID=1
microduino32_flash.upload.auto_reset=true

microduino32_flash.build.mcu=cortex-m3
microduino32_flash.build.f_cpu=72000000L
microduino32_flash.build.board=MICRODUINO_CORE_STM32
microduino32_flash.build.core=maple
microduino32_flash.build.extra_flags=-DMCU_STM32F103CB -mthumb -DSERIAL_USB -march=armv7-m -D__STM32F1__
microduino32_flash.build.ldscript=ld/flash.ld
microduino32_flash.build.variant=microduino
microduino32_flash.build.variant_system_lib=libmaple.a
microduino32_flash.build.vect=VECT_TAB_ADDR=0x8005000
microduino32_flash.build.density=STM32_MEDIUM_DENSITY
# FIXME!
microduino32_flash.build.error_led_port=GPIOB
microduino32_flash.build.error_led_pin=1
microduino32_flash.build.gcc_ver=gcc-arm-none-eabi-4.8.3-2014q1

#-- CPU Clock frequency
microduino32_flash.menu.cpu_speed.speed_72mhz=72Mhz (Normal)
microduino32_flash.menu.cpu_speed.speed_72mhz.build.f_cpu=72000000L

microduino32_flash.menu.cpu_speed.speed_48mhz=48Mhz (Slow - with USB)
microduino32_flash.menu.cpu_speed.speed_48mhz.build.f_cpu=48000000L

microduino32_flash.menu.cpu_speed.speed_128mhz=Overclocked 128Mhz NO USB SERIAL. MANUAL RESET NEEDED TO UPLOAD
microduino32_flash.menu.cpu_speed.speed_128mhz.build.f_cpu=128000000L

#-- Optimizations
microduino32_flash.menu.opt.osstd=Smallest (default)
#microduino32_flash.menu.opt.oslto=Smallest Code with LTO
#microduino32_flash.menu.opt.oslto.build.flags.optimize=-Os -flto
#microduino32_flash.menu.opt.oslto.build.flags.ldspecs=-flto
microduino32_flash.menu.opt.o1std=Fast (-O1)
microduino32_flash.menu.opt.o1std.build.flags.optimize=-O1
microduino32_flash.menu.opt.o1std.build.flags.ldspecs=
#microduino32_flash.menu.opt.o1lto=Fast (-O1) with LTO
#microduino32_flash.menu.opt.o1lto.build.flags.optimize=-O1 -flto
#microduino32_flash.menu.opt.o1lto.build.flags.ldspecs=-flto
microduino32_flash.menu.opt.o2std=Faster (-O2)
microduino32_flash.menu.opt.o2std.build.flags.optimize=-O2
microduino32_flash.menu.opt.o2std.build.flags.ldspecs=
#microduino32_flash.menu.opt.o2lto=Faster (-O2) with LTO
#microduino32_flash.menu.opt.o2lto.build.flags.optimize=-O2 -flto
#microduino32_flash.menu.opt.o2lto.build.flags.ldspecs=-flto
microduino32_flash.menu.opt.o3std=Fastest (-O3)
microduino32_flash.menu.opt.o3std.build.flags.optimize=-O3
microduino32_flash.menu.opt.o3std.build.flags.ldspecs=
#microduino32_flash.menu.opt.o3lto=Fastest (-O3) with LTO
#microduino32_flash.menu.opt.o3lto.build.flags.optimize=-O3 -flto
#microduino32_flash.menu.opt.o3lto.build.flags.ldspecs=-flto
microduino32_flash.menu.opt.ogstd=Debug (-g)
microduino32_flash.menu.opt.ogstd.build.flags.optimize=-Og
microduino32_flash.menu.opt.ogstd.build.flags.ldspecs=

##############################################################
nucleo_f103rb.name=STM Nucleo F103RB (STLink)

nucleo_f103rb.upload.tool=stlink_upload
nucleo_f103rb.upload.protocol=maple_dfu
nucleo_f103rb.upload.maximum_size=108000
nucleo_f103rb.upload.maximum_data_size=17000
nucleo_f103rb.upload.use_1200bps_touch=false
nucleo_f103rb.upload.file_type=bin
nucleo_f103rb.upload.params.quiet=no

nucleo_f103rb.upload.usbID=1EAF:0003
nucleo_f103rb.upload.altID=1
nucleo_f103rb.upload.auto_reset=true

nucleo_f103rb.build.mcu=cortex-m3
nucleo_f103rb.build.board=STM_NUCLEO_F103RB
nucleo_f103rb.build.core=maple
nucleo_f103rb.build.ldscript=ld/jtag.ld
nucleo_f103rb.build.variant=nucleo_f103rb
nucleo_f103rb.build.variant_system_lib=libmaple.a
nucleo_f103rb.build.density=STM32_MEDIUM_DENSITY
nucleo_f103rb.build.error_led_port=GPIOB
nucleo_f103rb.build.error_led_pin=1
nucleo_f103rb.build.gcc_ver=gcc-arm-none-eabi-4.8.3-2014q1
nucleo_f103rb.build.vect=VECT_TAB_ADDR=0x8000000

## internal oscillator (HSI), running at 64 MHz
nucleo_f103rb.menu.device_variant.NucleoF103_HSI=Nucleo F103 @ 64 MHz
nucleo_f103rb.menu.device_variant.NucleoF103_HSI.build.f_cpu=64000000L
nucleo_f103rb.menu.device_variant.NucleoF103_HSI.build.extra_flags=-DMCU_STM32F103RB -mthumb -march=armv7-m -D__STM32F1__

## external crystal (HSE), running at 72 MHz
nucleo_f103rb.menu.device_variant.NucleoF103_HSE=Nucleo F103 @ 72 MHz w/ crystal
nucleo_f103rb.menu.device_variant.NucleoF103_HSE.build.f_cpu=72000000L
nucleo_f103rb.menu.device_variant.NucleoF103_HSE.build.extra_flags=-DNUCLEO_HSE_CRYSTAL -DMCU_STM32F103RB -mthumb -march=armv7-m -D__STM32F1__

#-- Optimizations
nucleo_f103rb.menu.opt.osstd=Smallest (default)
#nucleo_f103rb.menu.opt.oslto=Smallest Code with LTO
#nucleo_f103rb.menu.opt.oslto.build.flags.optimize=-Os -flto
#nucleo_f103rb.menu.opt.oslto.build.flags.ldspecs=-flto
nucleo_f103rb.menu.opt.o1std=Fast (-O1)
nucleo_f103rb.menu.opt.o1std.build.flags.optimize=-O1
nucleo_f103rb.menu.opt.o1std.build.flags.ldspecs=
#nucleo_f103rb.menu.opt.o1lto=Fast (-O1) with LTO
#nucleo_f103rb.menu.opt.o1lto.build.flags.optimize=-O1 -flto
#nucleo_f103rb.menu.opt.o1lto.build.flags.ldspecs=-flto
nucleo_f103rb.menu.opt.o2std=Faster (-O2)
nucleo_f103rb.menu.opt.o2std.build.flags.optimize=-O2
nucleo_f103rb.menu.opt.o2std.build.flags.ldspecs=
#nucleo_f103rb.menu.opt.o2lto=Faster (-O2) with LTO
#nucleo_f103rb.menu.opt.o2lto.build.flags.optimize=-O2 -flto
#nucleo_f103rb.menu.opt.o2lto.build.flags.ldspecs=-flto
nucleo_f103rb.menu.opt.o3std=Fastest (-O3)
nucleo_f103rb.menu.opt.o3std.build.flags.optimize=-O3
nucleo_f103rb.menu.opt.o3std.build.flags.ldspecs=
#nucleo_f103rb.menu.opt.o3lto=Fastest (-O3) with LTO
#nucleo_f103rb.menu.opt.o3lto.build.flags.optimize=-O3 -flto
#nucleo_f103rb.menu.opt.o3lto.build.flags.ldspecs=-flto
nucleo_f103rb.menu.opt.ogstd=Debug (-g)
nucleo_f103rb.menu.opt.ogstd.build.flags.optimize=-Og
nucleo_f103rb.menu.opt.ogstd.build.flags.ldspecs=

###################### Generic STM32F103C ########################################

genericSTM32F103C.name=Generic STM32F103C series
genericSTM32F103C.vid.0=0x1EAF
genericSTM32F103C.pid.0=0x0004
genericSTM32F103C.build.variant=generic_stm32f103c
genericSTM32F103C.build.vect=VECT_TAB_ADDR=0x8000000
genericSTM32F103C.build.core=maple
genericSTM32F103C.build.board=GENERIC_STM32F103C
genericSTM32F103C.build.error_led_port=GPIOC
genericSTM32F103C.build.error_led_pin=13
genericSTM32F103C.upload.use_1200bps_touch=false
genericSTM32F103C.upload.file_type=bin
genericSTM32F103C.upload.auto_reset=true
genericSTM32F103C.upload.tool=maple_upload
genericSTM32F103C.upload.protocol=maple_dfu

## STM32F103C8 -------------------------
genericSTM32F103C.menu.device_variant.STM32F103C8=STM32F103C8 (20k RAM. 64k Flash)
genericSTM32F103C.menu.device_variant.STM32F103C8.build.cpu_flags=-DMCU_STM32F103C8
genericSTM32F103C.menu.device_variant.STM32F103C8.build.ldscript=ld/jtag_c8.ld
genericSTM32F103C.menu.device_variant.STM32F103C8.upload.maximum_size=65536
genericSTM32F103C.menu.device_variant.STM32F103C8.upload.maximum_data_size=20480

## STM32F103CB -------------------------
genericSTM32F103C.menu.device_variant.STM32F103CB=STM32F103CB (20k RAM. 128k Flash)
genericSTM32F103C.menu.device_variant.STM32F103CB.build.cpu_flags=-DMCU_STM32F103CB
genericSTM32F103C.menu.device_variant.STM32F103CB.build.ldscript=ld/jtag.ld
genericSTM32F103C.menu.device_variant.STM32F103CB.upload.maximum_size=131072
genericSTM32F103C.menu.device_variant.STM32F103CB.upload.maximum_data_size=20480

#---------------------------- UPLOAD METHODS ---------------------------

genericSTM32F103C.menu.upload_method.DFUUploadMethod=STM32duino bootloader
genericSTM32F103C.menu.upload_method.DFUUploadMethod.upload.protocol=maple_dfu
genericSTM32F103C.menu.upload_method.DFUUploadMethod.upload.tool=maple_upload
genericSTM32F103C.menu.upload_method.DFUUploadMethod.build.upload_flags=-DSERIAL_USB -DGENERIC_BOOTLOADER
genericSTM32F103C.menu.upload_method.DFUUploadMethod.build.vect=VECT_TAB_ADDR=0x8002000
genericSTM32F103C.menu.upload_method.DFUUploadMethod.build.ldscript=ld/bootloader_20.ld
genericSTM32F103C.menu.upload_method.DFUUploadMethod.upload.usbID=1EAF:0003
genericSTM32F103C.menu.upload_method.DFUUploadMethod.upload.altID=2

genericSTM32F103C.menu.upload_method.serialMethod=Serial
genericSTM32F103C.menu.upload_method.serialMethod.upload.protocol=maple_serial
genericSTM32F103C.menu.upload_method.serialMethod.upload.tool=serial_upload
genericSTM32F103C.menu.upload_method.serialMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG

genericSTM32F103C.menu.upload_method.STLinkMethod=STLink
genericSTM32F103C.menu.upload_method.STLinkMethod.upload.protocol=STLink
genericSTM32F103C.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
genericSTM32F103C.menu.upload_method.STLinkMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DSERIAL_USB -DGENERIC_BOOTLOADER

genericSTM32F103C.menu.upload_method.BMPMethod=BMP (Black Magic Probe)
genericSTM32F103C.menu.upload_method.BMPMethod.upload.protocol=gdb_bmp
genericSTM32F103C.menu.upload_method.BMPMethod.upload.tool=bmp_upload
genericSTM32F103C.menu.upload_method.BMPMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG

genericSTM32F103C.menu.upload_method.jlinkMethod=JLink
genericSTM32F103C.menu.upload_method.jlinkMethod.upload.protocol=jlink
genericSTM32F103C.menu.upload_method.jlinkMethod.upload.tool=jlink_upload
genericSTM32F103C.menu.upload_method.jlinkMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DSERIAL_USB -DGENERIC_BOOTLOADER 

genericSTM32F103C.menu.upload_method.HIDUploadMethod=HID bootloader 2.0
genericSTM32F103C.menu.upload_method.HIDUploadMethod.upload.tool=hid_upload
genericSTM32F103C.menu.upload_method.HIDUploadMethod.build.upload_flags=-DSERIAL_USB -DGENERIC_BOOTLOADER
genericSTM32F103C.menu.upload_method.HIDUploadMethod.build.vect=VECT_TAB_ADDR=0x8001000
genericSTM32F103C.menu.upload_method.HIDUploadMethod.build.ldscript=ld/hid_bootloader.ld

#-- CPU Clock frequency
genericSTM32F103C.menu.cpu_speed.speed_72mhz=72Mhz (Normal)
genericSTM32F103C.menu.cpu_speed.speed_72mhz.build.f_cpu=72000000L

genericSTM32F103C.menu.cpu_speed.speed_48mhz=48Mhz (Slow - with USB)
genericSTM32F103C.menu.cpu_speed.speed_48mhz.build.f_cpu=48000000L

genericSTM32F103C.menu.cpu_speed.speed_128mhz=Overclocked 128Mhz NO USB SERIAL. MANUAL RESET NEEDED TO UPLOAD
genericSTM32F103C.menu.cpu_speed.speed_128mhz.build.f_cpu=128000000L

#-- Optimizations
genericSTM32F103C.menu.opt.osstd=Smallest (default)
#genericSTM32F103C.menu.opt.oslto=Smallest Code with LTO
#genericSTM32F103C.menu.opt.oslto.build.flags.optimize=-Os -flto
#genericSTM32F103C.menu.opt.oslto.build.flags.ldspecs=-flto
genericSTM32F103C.menu.opt.o1std=Fast (-O1)
genericSTM32F103C.menu.opt.o1std.build.flags.optimize=-O1
genericSTM32F103C.menu.opt.o1std.build.flags.ldspecs=
#genericSTM32F103C.menu.opt.o1lto=Fast (-O1) with LTO
#genericSTM32F103C.menu.opt.o1lto.build.flags.optimize=-O1 -flto
#genericSTM32F103C.menu.opt.o1lto.build.flags.ldspecs=-flto
genericSTM32F103C.menu.opt.o2std=Faster (-O2)
genericSTM32F103C.menu.opt.o2std.build.flags.optimize=-O2
genericSTM32F103C.menu.opt.o2std.build.flags.ldspecs=
#genericSTM32F103C.menu.opt.o2lto=Faster (-O2) with LTO
#genericSTM32F103C.menu.opt.o2lto.build.flags.optimize=-O2 -flto
#genericSTM32F103C.menu.opt.o2lto.build.flags.ldspecs=-flto
genericSTM32F103C.menu.opt.o3std=Fastest (-O3)
genericSTM32F103C.menu.opt.o3std.build.flags.optimize=-O3
genericSTM32F103C.menu.opt.o3std.build.flags.ldspecs=
#genericSTM32F103C.menu.opt.o3lto=Fastest (-O3) with LTO
#genericSTM32F103C.menu.opt.o3lto.build.flags.optimize=-O3 -flto
#genericSTM32F103C.menu.opt.o3lto.build.flags.ldspecs=-flto
genericSTM32F103C.menu.opt.ogstd=Debug (-g)
genericSTM32F103C.menu.opt.ogstd.build.flags.optimize=-Og
genericSTM32F103C.menu.opt.ogstd.build.flags.ldspecs=

########################### Generic STM32F103R ###########################

genericSTM32F103R.name=Generic STM32F103R series
genericSTM32F103R.vid.0=0x1EAF
genericSTM32F103R.pid.0=0x0004
#genericSTM32F103R.build.variant=generic_stm32f103r
genericSTM32F103R.build.vect=VECT_TAB_ADDR=0x8000000
genericSTM32F103R.build.core=maple
genericSTM32F103R.build.board=GENERIC_STM32F103R
genericSTM32F103R.upload.use_1200bps_touch=false
genericSTM32F103R.upload.file_type=bin
genericSTM32F103R.upload.auto_reset=true
genericSTM32F103R.upload.tool=maple_upload
genericSTM32F103R.upload.protocol=maple_dfu

genericSTM32F103R.menu.device_variant.STM32F103R8=STM32F103R8 (20k RAM. 64k Flash)
genericSTM32F103R.menu.device_variant.STM32F103R8.build.variant=generic_stm32f103r8
genericSTM32F103R.menu.device_variant.STM32F103R8.build.cpu_flags=-DMCU_STM32F103R8
genericSTM32F103R.menu.device_variant.STM32F103R8.upload.maximum_size=65536
genericSTM32F103R.menu.device_variant.STM32F103R8.upload.maximum_data_size=20480
genericSTM32F103R.menu.device_variant.STM32F103R8.build.ldscript=ld/stm32f103r8.ld

genericSTM32F103R.menu.device_variant.STM32F103RB=STM32F103RB (20k RAM. 128k Flash)
genericSTM32F103R.menu.device_variant.STM32F103RB.build.variant=generic_stm32f103r8
genericSTM32F103R.menu.device_variant.STM32F103RB.build.cpu_flags=-DMCU_STM32F103RB
genericSTM32F103R.menu.device_variant.STM32F103RB.upload.maximum_size=131072
genericSTM32F103R.menu.device_variant.STM32F103RB.upload.maximum_data_size=20480
genericSTM32F103R.menu.device_variant.STM32F103RB.build.ldscript=ld/stm32f103rb.ld

genericSTM32F103R.menu.device_variant.STM32F103RC=STM32F103RC (48k RAM. 256k Flash)
genericSTM32F103R.menu.device_variant.STM32F103RC.build.variant=generic_stm32f103r
genericSTM32F103R.menu.device_variant.STM32F103RC.build.cpu_flags=-DMCU_STM32F103RC
genericSTM32F103R.menu.device_variant.STM32F103RC.upload.maximum_size=262144
genericSTM32F103R.menu.device_variant.STM32F103RC.upload.maximum_data_size=49152
genericSTM32F103R.menu.device_variant.STM32F103RC.upload.ram.maximum_size=49152
genericSTM32F103R.menu.device_variant.STM32F103RC.upload.flash.maximum_size=262144
genericSTM32F103R.menu.device_variant.STM32F103RC.build.ldscript=ld/stm32f103rc.ld

genericSTM32F103R.menu.device_variant.STM32F103RE=STM32F103RE (64k RAM. 512k Flash)
genericSTM32F103R.menu.device_variant.STM32F103RE.build.variant=generic_stm32f103r
genericSTM32F103R.menu.device_variant.STM32F103RE.build.cpu_flags=-DMCU_STM32F103RE
genericSTM32F103R.menu.device_variant.STM32F103RE.upload.maximum_size=524288
genericSTM32F103R.menu.device_variant.STM32F103RE.upload.maximum_data_size=65536
genericSTM32F103R.menu.device_variant.STM32F103RE.build.ldscript=ld/stm32f103re.ld

#---------------------------- UPLOAD METHODS ---------------------------

genericSTM32F103R.menu.upload_method.DFUUploadMethod=STM32duino bootloader
genericSTM32F103R.menu.upload_method.DFUUploadMethod.upload.protocol=maple_dfu
genericSTM32F103R.menu.upload_method.DFUUploadMethod.upload.tool=maple_upload
genericSTM32F103R.menu.upload_method.DFUUploadMethod.build.upload_flags=-DSERIAL_USB -DGENERIC_BOOTLOADER 
genericSTM32F103R.menu.upload_method.DFUUploadMethod.build.vect=VECT_TAB_ADDR=0x8002000
genericSTM32F103R.menu.upload_method.DFUUploadMethod.build.ldscript=ld/bootloader.ld
genericSTM32F103R.menu.upload_method.DFUUploadMethod.upload.usbID=1EAF:0003
genericSTM32F103R.menu.upload_method.DFUUploadMethod.upload.altID=2

genericSTM32F103R.menu.upload_method.serialMethod=Serial
genericSTM32F103R.menu.upload_method.serialMethod.upload.protocol=maple_serial
genericSTM32F103R.menu.upload_method.serialMethod.upload.tool=serial_upload
genericSTM32F103R.menu.upload_method.serialMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1

genericSTM32F103R.menu.upload_method.STLinkMethod=STLink
genericSTM32F103R.menu.upload_method.STLinkMethod.upload.protocol=STLink
genericSTM32F103R.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
genericSTM32F103R.menu.upload_method.STLinkMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DSERIAL_USB -DGENERIC_BOOTLOADER

genericSTM32F103R.menu.upload_method.BMPMethod=BMP (Black Magic Probe)
genericSTM32F103R.menu.upload_method.BMPMethod.upload.protocol=gdb_bmp
genericSTM32F103R.menu.upload_method.BMPMethod.upload.tool=bmp_upload
genericSTM32F103R.menu.upload_method.BMPMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG

#-- CPU Clock frequency
genericSTM32F103R.menu.cpu_speed.speed_72mhz=72Mhz (Normal)
genericSTM32F103R.menu.cpu_speed.speed_72mhz.build.f_cpu=72000000L

genericSTM32F103R.menu.cpu_speed.speed_48mhz=48Mhz (Slow - with USB)
genericSTM32F103R.menu.cpu_speed.speed_48mhz.build.f_cpu=48000000L

genericSTM32F103R.menu.cpu_speed.speed_128mhz=Overclocked 128Mhz NO USB SERIAL. MANUAL RESET NEEDED TO UPLOAD
genericSTM32F103R.menu.cpu_speed.speed_128mhz.build.f_cpu=128000000L


#-- Optimizations
genericSTM32F103R.menu.opt.osstd=Smallest (default)
#genericSTM32F103R.menu.opt.oslto=Smallest Code with LTO
#genericSTM32F103R.menu.opt.oslto.build.flags.optimize=-Os -flto
#genericSTM32F103R.menu.opt.oslto.build.flags.ldspecs=-flto
genericSTM32F103R.menu.opt.o1std=Fast (-O1)
genericSTM32F103R.menu.opt.o1std.build.flags.optimize=-O1
genericSTM32F103R.menu.opt.o1std.build.flags.ldspecs=
#genericSTM32F103R.menu.opt.o1lto=Fast (-O1) with LTO
#genericSTM32F103R.menu.opt.o1lto.build.flags.optimize=-O1 -flto
#genericSTM32F103R.menu.opt.o1lto.build.flags.ldspecs=-flto
genericSTM32F103R.menu.opt.o2std=Faster (-O2)
genericSTM32F103R.menu.opt.o2std.build.flags.optimize=-O2
genericSTM32F103R.menu.opt.o2std.build.flags.ldspecs=
#genericSTM32F103R.menu.opt.o2lto=Faster (-O2) with LTO
#genericSTM32F103R.menu.opt.o2lto.build.flags.optimize=-O2 -flto
#genericSTM32F103R.menu.opt.o2lto.build.flags.ldspecs=-flto
genericSTM32F103R.menu.opt.o3std=Fastest (-O3)
genericSTM32F103R.menu.opt.o3std.build.flags.optimize=-O3
genericSTM32F103R.menu.opt.o3std.build.flags.ldspecs=
#genericSTM32F103R.menu.opt.o3lto=Fastest (-O3) with LTO
#genericSTM32F103R.menu.opt.o3lto.build.flags.optimize=-O3 -flto
#genericSTM32F103R.menu.opt.o3lto.build.flags.ldspecs=-flto
genericSTM32F103R.menu.opt.ogstd=Debug (-g)
genericSTM32F103R.menu.opt.ogstd.build.flags.optimize=-Og
genericSTM32F103R.menu.opt.ogstd.build.flags.ldspecs=

###################### Generic STM32F103T ########################################

genericSTM32F103T.name=Generic STM32F103T series
genericSTM32F103T.vid.0=0x1EAF
genericSTM32F103T.pid.0=0x0004
genericSTM32F103T.build.variant=generic_stm32f103t
genericSTM32F103T.build.vect=VECT_TAB_ADDR=0x8000000
genericSTM32F103T.build.core=maple
genericSTM32F103T.build.board=GENERIC_STM32F103T
genericSTM32F103T.upload.use_1200bps_touch=false
genericSTM32F103T.upload.file_type=bin
genericSTM32F103T.upload.auto_reset=true
genericSTM32F103T.upload.tool=maple_upload
genericSTM32F103T.upload.protocol=maple_dfu

## STM32F103T8 -------------------------
genericSTM32F103T.menu.device_variant.STM32F103T8=STM32F103T8 (20k RAM. 64k Flash)
genericSTM32F103T.menu.device_variant.STM32F103T8.build.cpu_flags=-DMCU_STM32F103T8
genericSTM32F103T.menu.device_variant.STM32F103T8.build.ldscript=ld/jtag_t8.ld
genericSTM32F103T.menu.device_variant.STM32F103T8.upload.maximum_size=65536
genericSTM32F103T.menu.device_variant.STM32F103T8.upload.maximum_data_size=20480

## STM32F103TB -------------------------
genericSTM32F103T.menu.device_variant.STM32F103TB=STM32F103TB (20k RAM. 128k Flash)
genericSTM32F103T.menu.device_variant.STM32F103TB.build.cpu_flags=-DMCU_STM32F103TB
genericSTM32F103T.menu.device_variant.STM32F103TB.build.ldscript=ld/jtag.ld
genericSTM32F103T.menu.device_variant.STM32F103TB.upload.maximum_size=131072
genericSTM32F103T.menu.device_variant.STM32F103TB.upload.maximum_data_size=20480

#---------------------------- UPLOAD METHODS ---------------------------

genericSTM32F103T.menu.upload_method.DFUUploadMethod=STM32duino bootloader
genericSTM32F103T.menu.upload_method.DFUUploadMethod.upload.protocol=maple_dfu
genericSTM32F103T.menu.upload_method.DFUUploadMethod.upload.tool=maple_upload
genericSTM32F103T.menu.upload_method.DFUUploadMethod.build.upload_flags=-DSERIAL_USB -DGENERIC_BOOTLOADER 
genericSTM32F103T.menu.upload_method.DFUUploadMethod.build.vect=VECT_TAB_ADDR=0x8002000
genericSTM32F103T.menu.upload_method.DFUUploadMethod.build.ldscript=ld/bootloader_20.ld
genericSTM32F103T.menu.upload_method.DFUUploadMethod.upload.usbID=1EAF:0003
genericSTM32F103T.menu.upload_method.DFUUploadMethod.upload.altID=2

genericSTM32F103T.menu.upload_method.serialMethod=Serial
genericSTM32F103T.menu.upload_method.serialMethod.upload.protocol=maple_serial
genericSTM32F103T.menu.upload_method.serialMethod.upload.tool=serial_upload
genericSTM32F103T.menu.upload_method.serialMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1

genericSTM32F103T.menu.upload_method.STLinkMethod=STLink
genericSTM32F103T.menu.upload_method.STLinkMethod.upload.protocol=STLink
genericSTM32F103T.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
genericSTM32F103T.menu.upload_method.STLinkMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DSERIAL_USB -DGENERIC_BOOTLOADER

genericSTM32F103T.menu.upload_method.BMPMethod=BMP (Black Magic Probe)
genericSTM32F103T.menu.upload_method.BMPMethod.upload.protocol=gdb_bmp
genericSTM32F103T.menu.upload_method.BMPMethod.upload.tool=bmp_upload
genericSTM32F103T.menu.upload_method.BMPMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG

#-- CPU Clock frequency
genericSTM32F103T.menu.cpu_speed.speed_72mhz=72Mhz (Normal)
genericSTM32F103T.menu.cpu_speed.speed_72mhz.build.f_cpu=72000000L

genericSTM32F103T.menu.cpu_speed.speed_48mhz=48Mhz (Slow - with USB)
genericSTM32F103T.menu.cpu_speed.speed_48mhz.build.f_cpu=48000000L

genericSTM32F103T.menu.cpu_speed.speed_128mhz=Overclocked 128Mhz NO USB SERIAL. MANUAL RESET NEEDED TO UPLOAD
genericSTM32F103T.menu.cpu_speed.speed_128mhz.build.f_cpu=128000000L

#-- Optimizations
genericSTM32F103T.menu.opt.osstd=Smallest (default)
#genericSTM32F103T.menu.opt.oslto=Smallest Code with LTO
#genericSTM32F103T.menu.opt.oslto.build.flags.optimize=-Os -flto
#genericSTM32F103T.menu.opt.oslto.build.flags.ldspecs=-flto
genericSTM32F103T.menu.opt.o1std=Fast (-O1)
genericSTM32F103T.menu.opt.o1std.build.flags.optimize=-O1
genericSTM32F103T.menu.opt.o1std.build.flags.ldspecs=
#genericSTM32F103T.menu.opt.o1lto=Fast (-O1) with LTO
#genericSTM32F103T.menu.opt.o1lto.build.flags.optimize=-O1 -flto
#genericSTM32F103T.menu.opt.o1lto.build.flags.ldspecs=-flto
genericSTM32F103T.menu.opt.o2std=Faster (-O2)
genericSTM32F103T.menu.opt.o2std.build.flags.optimize=-O2
genericSTM32F103T.menu.opt.o2std.build.flags.ldspecs=
#genericSTM32F103T.menu.opt.o2lto=Faster (-O2) with LTO
#genericSTM32F103T.menu.opt.o2lto.build.flags.optimize=-O2 -flto
#genericSTM32F103T.menu.opt.o2lto.build.flags.ldspecs=-flto
genericSTM32F103T.menu.opt.o3std=Fastest (-O3)
genericSTM32F103T.menu.opt.o3std.build.flags.optimize=-O3
genericSTM32F103T.menu.opt.o3std.build.flags.ldspecs=
#genericSTM32F103T.menu.opt.o3lto=Fastest (-O3) with LTO
#genericSTM32F103T.menu.opt.o3lto.build.flags.optimize=-O3 -flto
#genericSTM32F103T.menu.opt.o3lto.build.flags.ldspecs=-flto
genericSTM32F103T.menu.opt.ogstd=Debug (-g)
genericSTM32F103T.menu.opt.ogstd.build.flags.optimize=-Og
genericSTM32F103T.menu.opt.ogstd.build.flags.ldspecs=

########################### Generic STM32F103V ###########################

genericSTM32F103V.name=Generic STM32F103V series
genericSTM32F103V.vid.0=0x1EAF
genericSTM32F103V.pid.0=0x0004
#genericSTM32F103V.build.variant=generic_stm32f103v
genericSTM32F103V.build.vect=VECT_TAB_ADDR=0x8000000
genericSTM32F103V.build.core=maple
genericSTM32F103V.build.board=GENERIC_STM32F103V
genericSTM32F103V.upload.use_1200bps_touch=false
genericSTM32F103V.upload.file_type=bin
genericSTM32F103V.upload.auto_reset=true
genericSTM32F103V.upload.tool=maple_upload
genericSTM32F103V.upload.protocol=maple_dfu

genericSTM32F103V.build.error_led_port=GPIOE
genericSTM32F103V.build.error_led_pin=6

genericSTM32F103V.menu.device_variant.STM32F103VB=STM32F103VB
genericSTM32F103V.menu.device_variant.STM32F103VB.build.variant=generic_stm32f103vb
genericSTM32F103V.menu.device_variant.STM32F103VB.build.cpu_flags=-DMCU_STM32F103VB
genericSTM32F103V.menu.device_variant.STM32F103VB.upload.maximum_size=131072
genericSTM32F103V.menu.device_variant.STM32F103VB.upload.maximum_data_size=20480
genericSTM32F103V.menu.device_variant.STM32F103VB.build.ldscript=ld/stm32f103vb.ld

genericSTM32F103V.menu.device_variant.STM32F103VC=STM32F103VC
genericSTM32F103V.menu.device_variant.STM32F103VC.build.variant=generic_stm32f103v
genericSTM32F103V.menu.device_variant.STM32F103VC.build.cpu_flags=-DMCU_STM32F103VC
genericSTM32F103V.menu.device_variant.STM32F103VC.upload.maximum_size=262144
genericSTM32F103V.menu.device_variant.STM32F103VC.upload.maximum_data_size=49152
genericSTM32F103V.menu.device_variant.STM32F103VC.build.ldscript=ld/stm32f103vc.ld

genericSTM32F103V.menu.device_variant.STM32F103VD=STM32F103VD
genericSTM32F103V.menu.device_variant.STM32F103VD.build.variant=generic_stm32f103v
genericSTM32F103V.menu.device_variant.STM32F103VD.build.cpu_flags=-DMCU_STM32F103VD
genericSTM32F103V.menu.device_variant.STM32F103VD.upload.maximum_size=393216
genericSTM32F103V.menu.device_variant.STM32F103VD.upload.maximum_data_size=65536
genericSTM32F103V.menu.device_variant.STM32F103VD.build.ldscript=ld/stm32f103vd.ld

genericSTM32F103V.menu.device_variant.STM32F103VE=STM32F103VE
genericSTM32F103V.menu.device_variant.STM32F103VE.build.variant=generic_stm32f103v
genericSTM32F103V.menu.device_variant.STM32F103VE.build.cpu_flags=-DMCU_STM32F103VE
genericSTM32F103V.menu.device_variant.STM32F103VE.upload.maximum_size=524288
genericSTM32F103V.menu.device_variant.STM32F103VE.upload.maximum_data_size=65536
genericSTM32F103V.menu.device_variant.STM32F103VE.build.ldscript=ld/stm32f103ve.ld

#---------------------------- UPLOAD METHODS ---------------------------

genericSTM32F103V.menu.upload_method.DFUUploadMethod=STM32duino bootloader
genericSTM32F103V.menu.upload_method.DFUUploadMethod.upload.protocol=maple_dfu
genericSTM32F103V.menu.upload_method.DFUUploadMethod.upload.tool=maple_upload
genericSTM32F103V.menu.upload_method.DFUUploadMethod.build.upload_flags=-DSERIAL_USB -DGENERIC_BOOTLOADER 
genericSTM32F103V.menu.upload_method.DFUUploadMethod.build.vect=VECT_TAB_ADDR=0x8002000
genericSTM32F103V.menu.upload_method.DFUUploadMethod.build.ldscript=ld/stm32f103veDFU.ld
genericSTM32F103V.menu.upload_method.DFUUploadMethod.upload.usbID=1EAF:0003
genericSTM32F103V.menu.upload_method.DFUUploadMethod.upload.altID=2

genericSTM32F103V.menu.upload_method.serialMethod=Serial
genericSTM32F103V.menu.upload_method.serialMethod.upload.protocol=maple_serial
genericSTM32F103V.menu.upload_method.serialMethod.upload.tool=serial_upload
genericSTM32F103V.menu.upload_method.serialMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1

genericSTM32F103V.menu.upload_method.STLinkMethod=STLink
genericSTM32F103V.menu.upload_method.STLinkMethod.upload.protocol=STLink
genericSTM32F103V.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
genericSTM32F103V.menu.upload_method.STLinkMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DSERIAL_USB -DGENERIC_BOOTLOADER

genericSTM32F103V.menu.upload_method.BMPMethod=BMP (Black Magic Probe)
genericSTM32F103V.menu.upload_method.BMPMethod.upload.protocol=gdb_bmp
genericSTM32F103V.menu.upload_method.BMPMethod.upload.tool=bmp_upload
genericSTM32F103V.menu.upload_method.BMPMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG

#-- CPU Clock frequency
genericSTM32F103V.menu.cpu_speed.speed_72mhz=72Mhz (Normal)
genericSTM32F103V.menu.cpu_speed.speed_72mhz.build.f_cpu=72000000L

genericSTM32F103V.menu.cpu_speed.speed_48mhz=48Mhz (Slow - with USB)
genericSTM32F103V.menu.cpu_speed.speed_48mhz.build.f_cpu=48000000L

genericSTM32F103V.menu.cpu_speed.speed_128mhz=Overclocked 128Mhz NO USB SERIAL. MANUAL RESET NEEDED TO UPLOAD
genericSTM32F103V.menu.cpu_speed.speed_128mhz.build.f_cpu=128000000L

#-- Optimizations
genericSTM32F103V.menu.opt.osstd=Smallest (default)
#genericSTM32F103V.menu.opt.oslto=Smallest Code with LTO
#genericSTM32F103V.menu.opt.oslto.build.flags.optimize=-Os -flto
#genericSTM32F103V.menu.opt.oslto.build.flags.ldspecs=-flto
genericSTM32F103V.menu.opt.o1std=Fast (-O1)
genericSTM32F103V.menu.opt.o1std.build.flags.optimize=-O1
genericSTM32F103V.menu.opt.o1std.build.flags.ldspecs=
#genericSTM32F103V.menu.opt.o1lto=Fast (-O1) with LTO
#genericSTM32F103V.menu.opt.o1lto.build.flags.optimize=-O1 -flto
#genericSTM32F103V.menu.opt.o1lto.build.flags.ldspecs=-flto
genericSTM32F103V.menu.opt.o2std=Faster (-O2)
genericSTM32F103V.menu.opt.o2std.build.flags.optimize=-O2
genericSTM32F103V.menu.opt.o2std.build.flags.ldspecs=
#genericSTM32F103V.menu.opt.o2lto=Faster (-O2) with LTO
#genericSTM32F103V.menu.opt.o2lto.build.flags.optimize=-O2 -flto
#genericSTM32F103V.menu.opt.o2lto.build.flags.ldspecs=-flto
genericSTM32F103V.menu.opt.o3std=Fastest (-O3)
genericSTM32F103V.menu.opt.o3std.build.flags.optimize=-O3
genericSTM32F103V.menu.opt.o3std.build.flags.ldspecs=
#genericSTM32F103V.menu.opt.o3lto=Fastest (-O3) with LTO
#genericSTM32F103V.menu.opt.o3lto.build.flags.optimize=-O3 -flto
#genericSTM32F103V.menu.opt.o3lto.build.flags.ldspecs=-flto
genericSTM32F103V.menu.opt.ogstd=Debug (-g)
genericSTM32F103V.menu.opt.ogstd.build.flags.optimize=-Og
genericSTM32F103V.menu.opt.ogstd.build.flags.ldspecs=

########################### Generic STM32F103Z ###########################

genericSTM32F103Z.name=Generic STM32F103Z series
genericSTM32F103Z.vid.0=0x1EAF
genericSTM32F103Z.pid.0=0x0004
genericSTM32F103Z.build.variant=generic_stm32f103z
genericSTM32F103Z.build.vect=VECT_TAB_ADDR=0x8000000
genericSTM32F103Z.build.core=maple
genericSTM32F103Z.build.board=GENERIC_STM32F103Z
genericSTM32F103Z.upload.use_1200bps_touch=false
genericSTM32F103Z.upload.file_type=bin
genericSTM32F103Z.upload.auto_reset=true
genericSTM32F103Z.upload.tool=maple_upload
genericSTM32F103Z.upload.protocol=maple_dfu

genericSTM32F103Z.menu.device_variant.STM32F103ZC=STM32F103ZC
genericSTM32F103Z.menu.device_variant.STM32F103ZC.build.cpu_flags=-DMCU_STM32F103ZC
genericSTM32F103Z.menu.device_variant.STM32F103ZC.upload.maximum_size=262144
genericSTM32F103Z.menu.device_variant.STM32F103ZC.upload.maximum_data_size=49152
genericSTM32F103Z.menu.device_variant.STM32F103ZC.build.ldscript=ld/stm32f103zc.ld

genericSTM32F103Z.menu.device_variant.STM32F103ZD=STM32F103ZD
genericSTM32F103Z.menu.device_variant.STM32F103ZD.build.cpu_flags=-DMCU_STM32F103ZD
genericSTM32F103Z.menu.device_variant.STM32F103ZD.upload.maximum_size=393216
genericSTM32F103Z.menu.device_variant.STM32F103ZD.upload.maximum_data_size=65536
genericSTM32F103Z.menu.device_variant.STM32F103ZD.build.ldscript=ld/stm32f103zd.ld

genericSTM32F103Z.menu.device_variant.STM32F103ZE=STM32F103ZE
genericSTM32F103Z.menu.device_variant.STM32F103ZE.build.cpu_flags=-DMCU_STM32F103ZE
genericSTM32F103Z.menu.device_variant.STM32F103ZE.upload.maximum_size=524288
genericSTM32F103Z.menu.device_variant.STM32F103ZE.upload.maximum_data_size=65536
genericSTM32F103Z.menu.device_variant.STM32F103ZE.build.ldscript=ld/stm32f103ze.ld

#---------------------------- UPLOAD METHODS ---------------------------

genericSTM32F103Z.menu.upload_method.DFUUploadMethod=STM32duino bootloader
genericSTM32F103Z.menu.upload_method.DFUUploadMethod.upload.protocol=maple_dfu
genericSTM32F103Z.menu.upload_method.DFUUploadMethod.upload.tool=maple_upload
genericSTM32F103Z.menu.upload_method.DFUUploadMethod.build.upload_flags=-DSERIAL_USB -DGENERIC_BOOTLOADER 
genericSTM32F103Z.menu.upload_method.DFUUploadMethod.build.vect=VECT_TAB_ADDR=0x8002000
genericSTM32F103Z.menu.upload_method.DFUUploadMethod.build.ldscript=ld/stm32f103z_dfu.ld
genericSTM32F103Z.menu.upload_method.DFUUploadMethod.upload.usbID=1EAF:0003
genericSTM32F103Z.menu.upload_method.DFUUploadMethod.upload.altID=2

genericSTM32F103Z.menu.upload_method.serialMethod=Serial
genericSTM32F103Z.menu.upload_method.serialMethod.upload.protocol=maple_serial
genericSTM32F103Z.menu.upload_method.serialMethod.upload.tool=serial_upload
genericSTM32F103Z.menu.upload_method.serialMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1

genericSTM32F103Z.menu.upload_method.STLinkMethod=STLink
genericSTM32F103Z.menu.upload_method.STLinkMethod.upload.protocol=STLink
genericSTM32F103Z.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
genericSTM32F103Z.menu.upload_method.STLinkMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DSERIAL_USB -DGENERIC_BOOTLOADER

genericSTM32F103Z.menu.upload_method.BMPMethod=BMP (Black Magic Probe)
genericSTM32F103Z.menu.upload_method.BMPMethod.upload.protocol=gdb_bmp
genericSTM32F103Z.menu.upload_method.BMPMethod.upload.tool=bmp_upload
genericSTM32F103Z.menu.upload_method.BMPMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG

#-- CPU Clock frequency
genericSTM32F103Z.menu.cpu_speed.speed_72mhz=72Mhz (Normal)
genericSTM32F103Z.menu.cpu_speed.speed_72mhz.build.f_cpu=72000000L

genericSTM32F103Z.menu.cpu_speed.speed_48mhz=48Mhz (Slow - with USB)
genericSTM32F103Z.menu.cpu_speed.speed_48mhz.build.f_cpu=48000000L

genericSTM32F103Z.menu.cpu_speed.speed_128mhz=Overclocked 128Mhz NO USB SERIAL. MANUAL RESET NEEDED TO UPLOAD
genericSTM32F103Z.menu.cpu_speed.speed_128mhz.build.f_cpu=128000000L

#-- Optimizations
genericSTM32F103Z.menu.opt.osstd=Smallest (default)
#genericSTM32F103Z.menu.opt.oslto=Smallest Code with LTO
#genericSTM32F103Z.menu.opt.oslto.build.flags.optimize=-Os -flto
#genericSTM32F103Z.menu.opt.oslto.build.flags.ldspecs=-flto
genericSTM32F103Z.menu.opt.o1std=Fast (-O1)
genericSTM32F103Z.menu.opt.o1std.build.flags.optimize=-O1
genericSTM32F103Z.menu.opt.o1std.build.flags.ldspecs=
#genericSTM32F103Z.menu.opt.o1lto=Fast (-O1) with LTO
#genericSTM32F103Z.menu.opt.o1lto.build.flags.optimize=-O1 -flto
#genericSTM32F103Z.menu.opt.o1lto.build.flags.ldspecs=-flto
genericSTM32F103Z.menu.opt.o2std=Faster (-O2)
genericSTM32F103Z.menu.opt.o2std.build.flags.optimize=-O2
genericSTM32F103Z.menu.opt.o2std.build.flags.ldspecs=
#genericSTM32F103Z.menu.opt.o2lto=Faster (-O2) with LTO
#genericSTM32F103Z.menu.opt.o2lto.build.flags.optimize=-O2 -flto
#genericSTM32F103Z.menu.opt.o2lto.build.flags.ldspecs=-flto
genericSTM32F103Z.menu.opt.o3std=Fastest (-O3)
genericSTM32F103Z.menu.opt.o3std.build.flags.optimize=-O3
genericSTM32F103Z.menu.opt.o3std.build.flags.ldspecs=
#genericSTM32F103Z.menu.opt.o3lto=Fastest (-O3) with LTO
#genericSTM32F103Z.menu.opt.o3lto.build.flags.optimize=-O3 -flto
#genericSTM32F103Z.menu.opt.o3lto.build.flags.ldspecs=-flto
genericSTM32F103Z.menu.opt.ogstd=Debug (-g)
genericSTM32F103Z.menu.opt.ogstd.build.flags.optimize=-Og
genericSTM32F103Z.menu.opt.ogstd.build.flags.ldspecs=

###################### HYTiny STM32F103T ########################################

hytiny-stm32f103t.name=HYTiny STM32F103TB
hytiny-stm32f103t.vid.0=0x1EAF
hytiny-stm32f103t.pid.0=0x0004
hytiny-stm32f103t.build.variant=hytiny_stm32f103t
hytiny-stm32f103t.build.vect=VECT_TAB_ADDR=0x8000000
hytiny-stm32f103t.build.core=maple
hytiny-stm32f103t.build.board=HYTINY_STM32F103T
hytiny-stm32f103t.upload.use_1200bps_touch=false
hytiny-stm32f103t.upload.file_type=bin
hytiny-stm32f103t.upload.auto_reset=true


hytiny-stm32f103t.build.cpu_flags=-DMCU_STM32F103CB
hytiny-stm32f103t.build.ldscript=ld/jtag.ld
hytiny-stm32f103t.upload.maximum_size=131072
hytiny-stm32f103t.upload.maximum_data_size=20480

#---------------------------- UPLOAD METHODS ---------------------------

hytiny-stm32f103t.menu.upload_method.DFUUploadMethod=STM32duino bootloader
hytiny-stm32f103t.menu.upload_method.DFUUploadMethod.upload.protocol=maple_dfu
hytiny-stm32f103t.menu.upload_method.DFUUploadMethod.upload.tool=maple_upload
hytiny-stm32f103t.menu.upload_method.DFUUploadMethod.build.upload_flags=-DSERIAL_USB 
hytiny-stm32f103t.menu.upload_method.DFUUploadMethod.build.vect=VECT_TAB_ADDR=0x8002000
hytiny-stm32f103t.menu.upload_method.DFUUploadMethod.build.ldscript=ld/bootloader_20.ld
hytiny-stm32f103t.menu.upload_method.DFUUploadMethod.upload.usbID=1EAF:0003
hytiny-stm32f103t.menu.upload_method.DFUUploadMethod.upload.altID=2

hytiny-stm32f103t.menu.upload_method.serialMethod=Serial
hytiny-stm32f103t.menu.upload_method.serialMethod.upload.protocol=maple_serial
hytiny-stm32f103t.menu.upload_method.serialMethod.upload.tool=serial_upload
hytiny-stm32f103t.menu.upload_method.serialMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 

hytiny-stm32f103t.menu.upload_method.STLinkMethod=STLink
hytiny-stm32f103t.menu.upload_method.STLinkMethod.upload.protocol=STLink
hytiny-stm32f103t.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
hytiny-stm32f103t.menu.upload_method.STLinkMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DSERIAL_USB -DGENERIC_BOOTLOADER

hytiny-stm32f103t.menu.upload_method.BMPMethod=BMP (Black Magic Probe)
hytiny-stm32f103t.menu.upload_method.BMPMethod.upload.protocol=gdb_bmp
hytiny-stm32f103t.menu.upload_method.BMPMethod.upload.tool=bmp_upload
hytiny-stm32f103t.menu.upload_method.BMPMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG


hytiny-stm32f103t.menu.upload_method.jlinkMethod=JLink
hytiny-stm32f103t.menu.upload_method.jlinkMethod.upload.protocol=jlink
hytiny-stm32f103t.menu.upload_method.jlinkMethod.upload.tool=jlink_upload
hytiny-stm32f103t.menu.upload_method.jlinkMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DSERIAL_USB -DGENERIC_BOOTLOADER 

#-- CPU Clock frequency
hytiny-stm32f103t.menu.cpu_speed.speed_72mhz=72Mhz (Normal)
hytiny-stm32f103t.menu.cpu_speed.speed_72mhz.build.f_cpu=72000000L

hytiny-stm32f103t.menu.cpu_speed.speed_48mhz=48Mhz (Slow - with USB)
hytiny-stm32f103t.menu.cpu_speed.speed_48mhz.build.f_cpu=48000000L

hytiny-stm32f103t.menu.cpu_speed.speed_128mhz=Overclocked 128Mhz NO USB SERIAL. MANUAL RESET NEEDED TO UPLOAD
hytiny-stm32f103t.menu.cpu_speed.speed_128mhz.build.f_cpu=128000000L

#-- Optimizations
hytiny-stm32f103t.menu.opt.osstd=Smallest (default)
#hytiny-stm32f103t.menu.opt.oslto=Smallest Code with LTO
#hytiny-stm32f103t.menu.opt.oslto.build.flags.optimize=-Os -flto
#hytiny-stm32f103t.menu.opt.oslto.build.flags.ldspecs=-flto
hytiny-stm32f103t.menu.opt.o1std=Fast (-O1)
hytiny-stm32f103t.menu.opt.o1std.build.flags.optimize=-O1
hytiny-stm32f103t.menu.opt.o1std.build.flags.ldspecs=
#hytiny-stm32f103t.menu.opt.o1lto=Fast (-O1) with LTO
#hytiny-stm32f103t.menu.opt.o1lto.build.flags.optimize=-O1 -flto
#hytiny-stm32f103t.menu.opt.o1lto.build.flags.ldspecs=-flto
hytiny-stm32f103t.menu.opt.o2std=Faster (-O2)
hytiny-stm32f103t.menu.opt.o2std.build.flags.optimize=-O2
hytiny-stm32f103t.menu.opt.o2std.build.flags.ldspecs=
#hytiny-stm32f103t.menu.opt.o2lto=Faster (-O2) with LTO
#hytiny-stm32f103t.menu.opt.o2lto.build.flags.optimize=-O2 -flto
#hytiny-stm32f103t.menu.opt.o2lto.build.flags.ldspecs=-flto
hytiny-stm32f103t.menu.opt.o3std=Fastest (-O3)
hytiny-stm32f103t.menu.opt.o3std.build.flags.optimize=-O3
hytiny-stm32f103t.menu.opt.o3std.build.flags.ldspecs=
#hytiny-stm32f103t.menu.opt.o3lto=Fastest (-O3) with LTO
#hytiny-stm32f103t.menu.opt.o3lto.build.flags.optimize=-O3 -flto
#hytiny-stm32f103t.menu.opt.o3lto.build.flags.ldspecs=-flto
hytiny-stm32f103t.menu.opt.ogstd=Debug (-g)
hytiny-stm32f103t.menu.opt.ogstd.build.flags.optimize=-Og
hytiny-stm32f103t.menu.opt.ogstd.build.flags.ldspecs=

########################### STM32VLD to FLASH ###########################

STM32VLD.name=STM32VLD to FLASH
#STM32VLD.vid.0=0x1EAF
#STM32VLD.pid.0=0x0004

STM32VLD.build.vect=VECT_TAB_ADDR=0x8000000
STM32VLD.build.core=maple
STM32VLD.build.board=STM32VLD
STM32VLD.build.variant=STM32VLD
STM32VLD.build.ldscript=ld/jtag.ld

STM32VLD.build.family=cortex-m3
STM32VLD.build.f_cpu=24000000L
STM32VLD.upload.use_1200bps_touch=false
STM32VLD.upload.file_type=bin
STM32VLD.upload.auto_reset=true
STM32VLD.upload.params.quiet=no

STM32VLD.build.cpu_flags=-DMCU_STM32F100RB

#---------------------------- UPLOAD METHODS ---------------------------

STM32VLD.menu.upload_method.STLinkMethod=STLink
STM32VLD.menu.upload_method.STLinkMethod.upload.protocol=STLink
STM32VLD.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
STM32VLD.menu.upload_method.STLinkMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG  

#-- CPU Clock frequency
STM32VLD.menu.cpu_speed.speed_72mhz=72Mhz (Normal)
STM32VLD.menu.cpu_speed.speed_72mhz.build.f_cpu=72000000L

STM32VLD.menu.cpu_speed.speed_48mhz=48Mhz (Slow - with USB)
STM32VLD.menu.cpu_speed.speed_48mhz.build.f_cpu=48000000L

STM32VLD.menu.cpu_speed.speed_128mhz=Overclocked 128Mhz NO USB SERIAL. MANUAL RESET NEEDED TO UPLOAD
STM32VLD.menu.cpu_speed.speed_128mhz.build.f_cpu=128000000L

#-- Optimizations
STM32VLD.menu.opt.osstd=Smallest (default)
#STM32VLD.menu.opt.oslto=Smallest Code with LTO
#STM32VLD.menu.opt.oslto.build.flags.optimize=-Os -flto
#STM32VLD.menu.opt.oslto.build.flags.ldspecs=-flto
STM32VLD.menu.opt.o1std=Fast (-O1)
STM32VLD.menu.opt.o1std.build.flags.optimize=-O1
STM32VLD.menu.opt.o1std.build.flags.ldspecs=
#STM32VLD.menu.opt.o1lto=Fast (-O1) with LTO
#STM32VLD.menu.opt.o1lto.build.flags.optimize=-O1 -flto
#STM32VLD.menu.opt.o1lto.build.flags.ldspecs=-flto
STM32VLD.menu.opt.o2std=Faster (-O2)
STM32VLD.menu.opt.o2std.build.flags.optimize=-O2
STM32VLD.menu.opt.o2std.build.flags.ldspecs=
#STM32VLD.menu.opt.o2lto=Faster (-O2) with LTO
#STM32VLD.menu.opt.o2lto.build.flags.optimize=-O2 -flto
#STM32VLD.menu.opt.o2lto.build.flags.ldspecs=-flto
STM32VLD.menu.opt.o3std=Fastest (-O3)
STM32VLD.menu.opt.o3std.build.flags.optimize=-O3
STM32VLD.menu.opt.o3std.build.flags.ldspecs=
#STM32VLD.menu.opt.o3lto=Fastest (-O3) with LTO
#STM32VLD.menu.opt.o3lto.build.flags.optimize=-O3 -flto
#STM32VLD.menu.opt.o3lto.build.flags.ldspecs=-flto
STM32VLD.menu.opt.ogstd=Debug (-g)
STM32VLD.menu.opt.ogstd.build.flags.optimize=-Og
STM32VLD.menu.opt.ogstd.build.flags.ldspecs=

################################################################################
