Skip to content

Commit b113598

Browse files
authored
Merge pull request #213 from fpistm/BluPill_MapleMini
BluePill and MapleMini support (No USB)
2 parents 3f46601 + 518f182 commit b113598

14 files changed

+2562
-2
lines changed

Diff for: README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ For advanced user, you can use the repository: see the [Using git repository](ht
5757

5858
### Next release
5959
* STM32F1
60-
* BluePill F103C8 (on going)
61-
* MapleMini F103CB (on going)
60+
* BluePill F103C8 (Basic support, no USB)
61+
* MapleMini F103CB (Basic support, no USB)
6262

6363
## Troubleshooting
6464

Diff for: boards.txt

+150
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ menu.usb=USB interface
77

88
menu.opt=Optimize
99
menu.upload_method=Upload method
10+
menu.flash=Flash Memory Size
1011

1112
################################################################################
1213
# Nucleo 144 boards
@@ -374,6 +375,83 @@ Disco.menu.upload_method.STLink=STLink
374375
Disco.menu.upload_method.STLink.upload.protocol=STLink
375376
Disco.menu.upload_method.STLink.upload.tool=stlink_upload
376377

378+
################################################################################
379+
# Other boards
380+
381+
###############################
382+
# Generic F103
383+
GenF103.name=Generic STM32F103 series
384+
385+
GenF103.build.vid=0x1EAF
386+
GenF103.build.pid=0x0004
387+
GenF103.vid.0=0x1EAF
388+
GenF103.pid.0=0x0004
389+
390+
GenF103.build.core=arduino
391+
GenF103.build.board=GenF103
392+
GenF103.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial}
393+
394+
# BLUEPILL_F103C8 board
395+
# Support: Serial2 (USART2 on PA3, PA2) and Serial3 (USART3 on PB11, PB10)
396+
GenF103.menu.pnum.BLUEPILL_F103C8=BluePill F103C8
397+
GenF103.menu.pnum.BLUEPILL_F103C8.upload.maximum_data_size=20480
398+
GenF103.menu.pnum.BLUEPILL_F103C8.build.mcu=cortex-m3
399+
GenF103.menu.pnum.BLUEPILL_F103C8.build.board=BLUEPILL_F103C8
400+
GenF103.menu.pnum.BLUEPILL_F103C8.build.series=STM32F1xx
401+
GenF103.menu.pnum.BLUEPILL_F103C8.build.product_line=STM32F103xB
402+
GenF103.menu.pnum.BLUEPILL_F103C8.build.variant=BLUEPILL_F103C8
403+
GenF103.menu.pnum.BLUEPILL_F103C8.build.cmsis_lib_gcc=arm_cortexM3l_math
404+
405+
GenF103.menu.flash.C8=64k (default)
406+
GenF103.menu.flash.C8.upload.maximum_size=65536
407+
GenF103.menu.flash.C8.build.ldscript=ldscript.ld
408+
GenF103.menu.flash.CB=128k
409+
GenF103.menu.flash.CB.upload.maximum_size=131072
410+
GenF103.menu.flash.CB.build.ldscript=ldscript_cb.ld
411+
412+
# Upload menu
413+
GenF103.menu.upload_method.STLinkMethod=STLink
414+
GenF103.menu.upload_method.STLinkMethod.upload.protocol=STLink
415+
GenF103.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
416+
417+
GenF103.menu.upload_method.serialMethod=Serial
418+
GenF103.menu.upload_method.serialMethod.upload.protocol=maple_serial
419+
GenF103.menu.upload_method.serialMethod.upload.tool=serial_upload
420+
421+
###############################
422+
# Maple
423+
Maple.name=Maple series
424+
425+
Maple.build.vid=0x1EAF
426+
Maple.build.pid=0x0004
427+
Maple.vid.0=0x1EAF
428+
Maple.pid.0=0x0004
429+
430+
Maple.build.core=arduino
431+
Maple.build.board=Maple
432+
Maple.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial}
433+
434+
# MAPLEMINI_F103CB board
435+
# Support: Serial2 (USART2 on PA3, PA2) and Serial3 (USART3 on PB11, PB10)
436+
Maple.menu.pnum.MAPLEMINI_F103CB=Maple Mini F103CB
437+
Maple.menu.pnum.MAPLEMINI_F103CB.upload.maximum_size=131072
438+
Maple.menu.pnum.MAPLEMINI_F103CB.upload.maximum_data_size=20480
439+
Maple.menu.pnum.MAPLEMINI_F103CB.build.mcu=cortex-m3
440+
Maple.menu.pnum.MAPLEMINI_F103CB.build.board=MAPLEMINI_F103CB
441+
Maple.menu.pnum.MAPLEMINI_F103CB.build.series=STM32F1xx
442+
Maple.menu.pnum.MAPLEMINI_F103CB.build.product_line=STM32F103xB
443+
Maple.menu.pnum.MAPLEMINI_F103CB.build.variant=MAPLEMINI_F103CB
444+
Maple.menu.pnum.MAPLEMINI_F103CB.build.cmsis_lib_gcc=arm_cortexM3l_math
445+
446+
# Upload menu
447+
Maple.menu.upload_method.STLinkMethod=STLink
448+
Maple.menu.upload_method.STLinkMethod.upload.protocol=STLink
449+
Maple.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
450+
451+
Maple.menu.upload_method.serialMethod=Serial
452+
Maple.menu.upload_method.serialMethod.upload.protocol=maple_serial
453+
Maple.menu.upload_method.serialMethod.upload.tool=serial_upload
454+
377455

378456
################################################################################
379457
# Serialx activation
@@ -409,6 +487,22 @@ Disco.menu.xserial.all.build.xSerial=-DALL_HWSERIAL
409487
Disco.menu.xserial.third=Enable first third (USART1 to 3 if available)
410488
Disco.menu.xserial.third.build.xSerial=-DFIRST_THIRD_HWSERIAL
411489

490+
GenF103.menu.xserial.generic=Generic Serial
491+
GenF103.menu.xserial.none=No Serial
492+
GenF103.menu.xserial.none.build.xSerial=-DNO_HWSERIAL
493+
GenF103.menu.xserial.all=All (up to 10)
494+
GenF103.menu.xserial.all.build.xSerial=-DALL_HWSERIAL
495+
GenF103.menu.xserial.third=Enable first third (USART1 to 3 if available)
496+
GenF103.menu.xserial.third.build.xSerial=-DFIRST_THIRD_HWSERIAL
497+
498+
Maple.menu.xserial.generic=Generic Serial
499+
Maple.menu.xserial.none=No Serial
500+
Maple.menu.xserial.none.build.xSerial=-DNO_HWSERIAL
501+
Maple.menu.xserial.all=All (up to 10)
502+
Maple.menu.xserial.all.build.xSerial=-DALL_HWSERIAL
503+
Maple.menu.xserial.third=Enable first third (USART1 to 3 if available)
504+
Maple.menu.xserial.third.build.xSerial=-DFIRST_THIRD_HWSERIAL
505+
412506
# USB connectivity
413507
Nucleo_144.menu.usb.none=None
414508
Nucleo_144.menu.usb.HID=HID keyboard and mouse support (if available)
@@ -546,3 +640,59 @@ Disco.menu.opt.o3lto.build.flags.ldspecs=-flto
546640
Disco.menu.opt.ogstd=Debug (-g)
547641
Disco.menu.opt.ogstd.build.flags.optimize=-g -Og
548642
Disco.menu.opt.ogstd.build.flags.ldspecs=
643+
644+
GenF103.menu.opt.osstd=Smallest (-Os default)
645+
GenF103.menu.opt.osstd.build.flags.optimize=-Os
646+
GenF103.menu.opt.osstd.build.flags.ldspecs=
647+
GenF103.menu.opt.oslto=Smallest (-Os) with LTO
648+
GenF103.menu.opt.oslto.build.flags.optimize=-Os -flto
649+
GenF103.menu.opt.oslto.build.flags.ldspecs=-flto
650+
GenF103.menu.opt.o1std=Fast (-O1)
651+
GenF103.menu.opt.o1std.build.flags.optimize=-O1
652+
GenF103.menu.opt.o1std.build.flags.ldspecs=
653+
GenF103.menu.opt.o1lto=Fast (-O1) with LTO
654+
GenF103.menu.opt.o1lto.build.flags.optimize=-O1 -flto
655+
GenF103.menu.opt.o1lto.build.flags.ldspecs=-flto
656+
GenF103.menu.opt.o2std=Faster (-O2)
657+
GenF103.menu.opt.o2std.build.flags.optimize=-O2
658+
GenF103.menu.opt.o2std.build.flags.ldspecs=
659+
GenF103.menu.opt.o2lto=Faster (-O2) with LTO
660+
GenF103.menu.opt.o2lto.build.flags.optimize=-O2 -flto
661+
GenF103.menu.opt.o2lto.build.flags.ldspecs=-flto
662+
GenF103.menu.opt.o3std=Fastest (-O3)
663+
GenF103.menu.opt.o3std.build.flags.optimize=-O3
664+
GenF103.menu.opt.o3std.build.flags.ldspecs=
665+
GenF103.menu.opt.o3lto=Fastest (-O3) with LTO
666+
GenF103.menu.opt.o3lto.build.flags.optimize=-O3 -flto
667+
GenF103.menu.opt.o3lto.build.flags.ldspecs=-flto
668+
GenF103.menu.opt.ogstd=Debug (-g)
669+
GenF103.menu.opt.ogstd.build.flags.optimize=-g -Og
670+
GenF103.menu.opt.ogstd.build.flags.ldspecs=
671+
672+
Maple.menu.opt.osstd=Smallest (-Os default)
673+
Maple.menu.opt.osstd.build.flags.optimize=-Os
674+
Maple.menu.opt.osstd.build.flags.ldspecs=
675+
Maple.menu.opt.oslto=Smallest (-Os) with LTO
676+
Maple.menu.opt.oslto.build.flags.optimize=-Os -flto
677+
Maple.menu.opt.oslto.build.flags.ldspecs=-flto
678+
Maple.menu.opt.o1std=Fast (-O1)
679+
Maple.menu.opt.o1std.build.flags.optimize=-O1
680+
Maple.menu.opt.o1std.build.flags.ldspecs=
681+
Maple.menu.opt.o1lto=Fast (-O1) with LTO
682+
Maple.menu.opt.o1lto.build.flags.optimize=-O1 -flto
683+
Maple.menu.opt.o1lto.build.flags.ldspecs=-flto
684+
Maple.menu.opt.o2std=Faster (-O2)
685+
Maple.menu.opt.o2std.build.flags.optimize=-O2
686+
Maple.menu.opt.o2std.build.flags.ldspecs=
687+
Maple.menu.opt.o2lto=Faster (-O2) with LTO
688+
Maple.menu.opt.o2lto.build.flags.optimize=-O2 -flto
689+
Maple.menu.opt.o2lto.build.flags.ldspecs=-flto
690+
Maple.menu.opt.o3std=Fastest (-O3)
691+
Maple.menu.opt.o3std.build.flags.optimize=-O3
692+
Maple.menu.opt.o3std.build.flags.ldspecs=
693+
Maple.menu.opt.o3lto=Fastest (-O3) with LTO
694+
Maple.menu.opt.o3lto.build.flags.optimize=-O3 -flto
695+
Maple.menu.opt.o3lto.build.flags.ldspecs=-flto
696+
Maple.menu.opt.ogstd=Debug (-g)
697+
Maple.menu.opt.ogstd.build.flags.optimize=-g -Og
698+
Maple.menu.opt.ogstd.build.flags.ldspecs=

Diff for: platform.txt

+14
Original file line numberDiff line numberDiff line change
@@ -154,3 +154,17 @@ tools.stlink_upload.path.linux64={runtime.hardware.path}/tools/linux64
154154
tools.stlink_upload.upload.params.verbose=-d
155155
tools.stlink_upload.upload.params.quiet=
156156
tools.stlink_upload.upload.pattern="{path}/{cmd}" {serial.port.file} {upload.altID} {upload.usbID} "{build.path}/{build.project_name}.bin"
157+
158+
# Serial upload for generic STM32
159+
# Note: Boot0 line needs to be high on board reset to enable it
160+
# at the end up the upload the program is automatically run, without the board being reset
161+
tools.serial_upload.cmd=serial_upload
162+
tools.serial_upload.cmd.windows=serial_upload.bat
163+
tools.serial_upload.cmd.macosx=serial_upload
164+
tools.serial_upload.path={runtime.hardware.path}/tools/win
165+
tools.serial_upload.path.macosx={runtime.hardware.path}/tools/macosx
166+
tools.serial_upload.path.linux={runtime.hardware.path}/tools/linux
167+
tools.serial_upload.path.linux64={runtime.hardware.path}/tools/linux64
168+
tools.serial_upload.upload.params.verbose=-d
169+
tools.serial_upload.upload.params.quiet=n
170+
tools.serial_upload.upload.pattern="{path}/{cmd}" {serial.port.file} {upload.altID} {upload.usbID} "{build.path}/{build.project_name}.bin"

0 commit comments

Comments
 (0)