Skip to content

BluePill and MapleMini support (No USB) #213

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Mar 6, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ For advanced user, you can use the repository: see the [Using git repository](ht

### Next release
* STM32F1
* BluePill F103C8 (on going)
* MapleMini F103CB (on going)
* BluePill F103C8 (Basic support, no USB)
* MapleMini F103CB (Basic support, no USB)

## Troubleshooting

Expand Down
150 changes: 150 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ menu.usb=USB interface

menu.opt=Optimize
menu.upload_method=Upload method
menu.flash=Flash Memory Size

################################################################################
# Nucleo 144 boards
Expand Down Expand Up @@ -374,6 +375,83 @@ Disco.menu.upload_method.STLink=STLink
Disco.menu.upload_method.STLink.upload.protocol=STLink
Disco.menu.upload_method.STLink.upload.tool=stlink_upload

################################################################################
# Other boards

###############################
# Generic F103
GenF103.name=Generic STM32F103 series

GenF103.build.vid=0x1EAF
GenF103.build.pid=0x0004
GenF103.vid.0=0x1EAF
GenF103.pid.0=0x0004

GenF103.build.core=arduino
GenF103.build.board=GenF103
GenF103.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial}

# BLUEPILL_F103C8 board
# Support: Serial2 (USART2 on PA3, PA2) and Serial3 (USART3 on PB11, PB10)
GenF103.menu.pnum.BLUEPILL_F103C8=BluePill F103C8
GenF103.menu.pnum.BLUEPILL_F103C8.upload.maximum_data_size=20480
GenF103.menu.pnum.BLUEPILL_F103C8.build.mcu=cortex-m3
GenF103.menu.pnum.BLUEPILL_F103C8.build.board=BLUEPILL_F103C8
GenF103.menu.pnum.BLUEPILL_F103C8.build.series=STM32F1xx
GenF103.menu.pnum.BLUEPILL_F103C8.build.product_line=STM32F103xB
GenF103.menu.pnum.BLUEPILL_F103C8.build.variant=BLUEPILL_F103C8
GenF103.menu.pnum.BLUEPILL_F103C8.build.cmsis_lib_gcc=arm_cortexM3l_math

GenF103.menu.flash.C8=64k (default)
GenF103.menu.flash.C8.upload.maximum_size=65536
GenF103.menu.flash.C8.build.ldscript=ldscript.ld
GenF103.menu.flash.CB=128k
GenF103.menu.flash.CB.upload.maximum_size=131072
GenF103.menu.flash.CB.build.ldscript=ldscript_cb.ld

# Upload menu
GenF103.menu.upload_method.STLinkMethod=STLink
GenF103.menu.upload_method.STLinkMethod.upload.protocol=STLink
GenF103.menu.upload_method.STLinkMethod.upload.tool=stlink_upload

GenF103.menu.upload_method.serialMethod=Serial
GenF103.menu.upload_method.serialMethod.upload.protocol=maple_serial
GenF103.menu.upload_method.serialMethod.upload.tool=serial_upload

###############################
# Maple
Maple.name=Maple series

Maple.build.vid=0x1EAF
Maple.build.pid=0x0004
Maple.vid.0=0x1EAF
Maple.pid.0=0x0004

Maple.build.core=arduino
Maple.build.board=Maple
Maple.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial}

# MAPLEMINI_F103CB board
# Support: Serial2 (USART2 on PA3, PA2) and Serial3 (USART3 on PB11, PB10)
Maple.menu.pnum.MAPLEMINI_F103CB=Maple Mini F103CB
Maple.menu.pnum.MAPLEMINI_F103CB.upload.maximum_size=131072
Maple.menu.pnum.MAPLEMINI_F103CB.upload.maximum_data_size=20480
Maple.menu.pnum.MAPLEMINI_F103CB.build.mcu=cortex-m3
Maple.menu.pnum.MAPLEMINI_F103CB.build.board=MAPLEMINI_F103CB
Maple.menu.pnum.MAPLEMINI_F103CB.build.series=STM32F1xx
Maple.menu.pnum.MAPLEMINI_F103CB.build.product_line=STM32F103xB
Maple.menu.pnum.MAPLEMINI_F103CB.build.variant=MAPLEMINI_F103CB
Maple.menu.pnum.MAPLEMINI_F103CB.build.cmsis_lib_gcc=arm_cortexM3l_math

# Upload menu
Maple.menu.upload_method.STLinkMethod=STLink
Maple.menu.upload_method.STLinkMethod.upload.protocol=STLink
Maple.menu.upload_method.STLinkMethod.upload.tool=stlink_upload

Maple.menu.upload_method.serialMethod=Serial
Maple.menu.upload_method.serialMethod.upload.protocol=maple_serial
Maple.menu.upload_method.serialMethod.upload.tool=serial_upload


################################################################################
# Serialx activation
Expand Down Expand Up @@ -409,6 +487,22 @@ Disco.menu.xserial.all.build.xSerial=-DALL_HWSERIAL
Disco.menu.xserial.third=Enable first third (USART1 to 3 if available)
Disco.menu.xserial.third.build.xSerial=-DFIRST_THIRD_HWSERIAL

GenF103.menu.xserial.generic=Generic Serial
GenF103.menu.xserial.none=No Serial
GenF103.menu.xserial.none.build.xSerial=-DNO_HWSERIAL
GenF103.menu.xserial.all=All (up to 10)
GenF103.menu.xserial.all.build.xSerial=-DALL_HWSERIAL
GenF103.menu.xserial.third=Enable first third (USART1 to 3 if available)
GenF103.menu.xserial.third.build.xSerial=-DFIRST_THIRD_HWSERIAL

Maple.menu.xserial.generic=Generic Serial
Maple.menu.xserial.none=No Serial
Maple.menu.xserial.none.build.xSerial=-DNO_HWSERIAL
Maple.menu.xserial.all=All (up to 10)
Maple.menu.xserial.all.build.xSerial=-DALL_HWSERIAL
Maple.menu.xserial.third=Enable first third (USART1 to 3 if available)
Maple.menu.xserial.third.build.xSerial=-DFIRST_THIRD_HWSERIAL

# USB connectivity
Nucleo_144.menu.usb.none=None
Nucleo_144.menu.usb.HID=HID keyboard and mouse support (if available)
Expand Down Expand Up @@ -546,3 +640,59 @@ Disco.menu.opt.o3lto.build.flags.ldspecs=-flto
Disco.menu.opt.ogstd=Debug (-g)
Disco.menu.opt.ogstd.build.flags.optimize=-g -Og
Disco.menu.opt.ogstd.build.flags.ldspecs=

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

Maple.menu.opt.osstd=Smallest (-Os default)
Maple.menu.opt.osstd.build.flags.optimize=-Os
Maple.menu.opt.osstd.build.flags.ldspecs=
Maple.menu.opt.oslto=Smallest (-Os) 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=-g -Og
Maple.menu.opt.ogstd.build.flags.ldspecs=
14 changes: 14 additions & 0 deletions platform.txt
Original file line number Diff line number Diff line change
Expand Up @@ -154,3 +154,17 @@ tools.stlink_upload.path.linux64={runtime.hardware.path}/tools/linux64
tools.stlink_upload.upload.params.verbose=-d
tools.stlink_upload.upload.params.quiet=
tools.stlink_upload.upload.pattern="{path}/{cmd}" {serial.port.file} {upload.altID} {upload.usbID} "{build.path}/{build.project_name}.bin"

# Serial upload for generic STM32
# Note: Boot0 line needs to be high on board reset to enable it
# at the end up the upload the program is automatically run, without the board being reset
tools.serial_upload.cmd=serial_upload
tools.serial_upload.cmd.windows=serial_upload.bat
tools.serial_upload.cmd.macosx=serial_upload
tools.serial_upload.path={runtime.hardware.path}/tools/win
tools.serial_upload.path.macosx={runtime.hardware.path}/tools/macosx
tools.serial_upload.path.linux={runtime.hardware.path}/tools/linux
tools.serial_upload.path.linux64={runtime.hardware.path}/tools/linux64
tools.serial_upload.upload.params.verbose=-d
tools.serial_upload.upload.params.quiet=n
tools.serial_upload.upload.pattern="{path}/{cmd}" {serial.port.file} {upload.altID} {upload.usbID} "{build.path}/{build.project_name}.bin"
Loading