diff --git a/boards.txt b/boards.txt index d8e096c444..1c01b489fc 100644 --- a/boards.txt +++ b/boards.txt @@ -6,6 +6,7 @@ menu.xserial=Serial interface menu.usb=USB interface menu.opt=Optimize +menu.rtlib=C Runtime Library menu.upload_method=Upload method menu.flash=Flash Memory Size menu.ram=RAM Size @@ -750,235 +751,253 @@ Disco.menu.usb.HID.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE Nucleo_144.menu.opt.osstd=Smallest (-Os default) Nucleo_144.menu.opt.oslto=Smallest (-Os) with LTO Nucleo_144.menu.opt.oslto.build.flags.optimize=-Os -flto -Nucleo_144.menu.opt.oslto.build.flags.ldspecs=-flto Nucleo_144.menu.opt.o1std=Fast (-O1) Nucleo_144.menu.opt.o1std.build.flags.optimize=-O1 -Nucleo_144.menu.opt.o1std.build.flags.ldspecs= Nucleo_144.menu.opt.o1lto=Fast (-O1) with LTO Nucleo_144.menu.opt.o1lto.build.flags.optimize=-O1 -flto -Nucleo_144.menu.opt.o1lto.build.flags.ldspecs=-flto Nucleo_144.menu.opt.o2std=Faster (-O2) Nucleo_144.menu.opt.o2std.build.flags.optimize=-O2 -Nucleo_144.menu.opt.o2std.build.flags.ldspecs= Nucleo_144.menu.opt.o2lto=Faster (-O2) with LTO Nucleo_144.menu.opt.o2lto.build.flags.optimize=-O2 -flto -Nucleo_144.menu.opt.o2lto.build.flags.ldspecs=-flto Nucleo_144.menu.opt.o3std=Fastest (-O3) Nucleo_144.menu.opt.o3std.build.flags.optimize=-O3 -Nucleo_144.menu.opt.o3std.build.flags.ldspecs= Nucleo_144.menu.opt.o3lto=Fastest (-O3) with LTO Nucleo_144.menu.opt.o3lto.build.flags.optimize=-O3 -flto -Nucleo_144.menu.opt.o3lto.build.flags.ldspecs=-flto Nucleo_144.menu.opt.ogstd=Debug (-g) Nucleo_144.menu.opt.ogstd.build.flags.optimize=-g -Og -Nucleo_144.menu.opt.ogstd.build.flags.ldspecs= Nucleo_64.menu.opt.osstd=Smallest (-Os default) Nucleo_64.menu.opt.oslto=Smallest (-Os) with LTO Nucleo_64.menu.opt.oslto.build.flags.optimize=-Os -flto -Nucleo_64.menu.opt.oslto.build.flags.ldspecs=-flto Nucleo_64.menu.opt.o1std=Fast (-O1) Nucleo_64.menu.opt.o1std.build.flags.optimize=-O1 -Nucleo_64.menu.opt.o1std.build.flags.ldspecs= Nucleo_64.menu.opt.o1lto=Fast (-O1) with LTO Nucleo_64.menu.opt.o1lto.build.flags.optimize=-O1 -flto -Nucleo_64.menu.opt.o1lto.build.flags.ldspecs=-flto Nucleo_64.menu.opt.o2std=Faster (-O2) Nucleo_64.menu.opt.o2std.build.flags.optimize=-O2 -Nucleo_64.menu.opt.o2std.build.flags.ldspecs= Nucleo_64.menu.opt.o2lto=Faster (-O2) with LTO Nucleo_64.menu.opt.o2lto.build.flags.optimize=-O2 -flto -Nucleo_64.menu.opt.o2lto.build.flags.ldspecs=-flto Nucleo_64.menu.opt.o3std=Fastest (-O3) Nucleo_64.menu.opt.o3std.build.flags.optimize=-O3 -Nucleo_64.menu.opt.o3std.build.flags.ldspecs= Nucleo_64.menu.opt.o3lto=Fastest (-O3) with LTO Nucleo_64.menu.opt.o3lto.build.flags.optimize=-O3 -flto -Nucleo_64.menu.opt.o3lto.build.flags.ldspecs=-flto Nucleo_64.menu.opt.ogstd=Debug (-g) Nucleo_64.menu.opt.ogstd.build.flags.optimize=-g -Og -Nucleo_64.menu.opt.ogstd.build.flags.ldspecs= Nucleo_32.menu.opt.osstd=Smallest (-Os default) Nucleo_32.menu.opt.oslto=Smallest (-Os) with LTO Nucleo_32.menu.opt.oslto.build.flags.optimize=-Os -flto -Nucleo_32.menu.opt.oslto.build.flags.ldspecs=-flto Nucleo_32.menu.opt.o1std=Fast (-O1) Nucleo_32.menu.opt.o1std.build.flags.optimize=-O1 -Nucleo_32.menu.opt.o1std.build.flags.ldspecs= Nucleo_32.menu.opt.o1lto=Fast (-O1) with LTO Nucleo_32.menu.opt.o1lto.build.flags.optimize=-O1 -flto -Nucleo_32.menu.opt.o1lto.build.flags.ldspecs=-flto Nucleo_32.menu.opt.o2std=Faster (-O2) Nucleo_32.menu.opt.o2std.build.flags.optimize=-O2 -Nucleo_32.menu.opt.o2std.build.flags.ldspecs= Nucleo_32.menu.opt.o2lto=Faster (-O2) with LTO Nucleo_32.menu.opt.o2lto.build.flags.optimize=-O2 -flto -Nucleo_32.menu.opt.o2lto.build.flags.ldspecs=-flto Nucleo_32.menu.opt.o3std=Fastest (-O3) Nucleo_32.menu.opt.o3std.build.flags.optimize=-O3 -Nucleo_32.menu.opt.o3std.build.flags.ldspecs= Nucleo_32.menu.opt.o3lto=Fastest (-O3) with LTO Nucleo_32.menu.opt.o3lto.build.flags.optimize=-O3 -flto -Nucleo_32.menu.opt.o3lto.build.flags.ldspecs=-flto Nucleo_32.menu.opt.ogstd=Debug (-g) Nucleo_32.menu.opt.ogstd.build.flags.optimize=-g -Og -Nucleo_32.menu.opt.ogstd.build.flags.ldspecs= Disco.menu.opt.osstd=Smallest (-Os default) Disco.menu.opt.oslto=Smallest (-Os) with LTO Disco.menu.opt.oslto.build.flags.optimize=-Os -flto -Disco.menu.opt.oslto.build.flags.ldspecs=-flto Disco.menu.opt.o1std=Fast (-O1) Disco.menu.opt.o1std.build.flags.optimize=-O1 -Disco.menu.opt.o1std.build.flags.ldspecs= Disco.menu.opt.o1lto=Fast (-O1) with LTO Disco.menu.opt.o1lto.build.flags.optimize=-O1 -flto -Disco.menu.opt.o1lto.build.flags.ldspecs=-flto Disco.menu.opt.o2std=Faster (-O2) Disco.menu.opt.o2std.build.flags.optimize=-O2 -Disco.menu.opt.o2std.build.flags.ldspecs= Disco.menu.opt.o2lto=Faster (-O2) with LTO Disco.menu.opt.o2lto.build.flags.optimize=-O2 -flto -Disco.menu.opt.o2lto.build.flags.ldspecs=-flto Disco.menu.opt.o3std=Fastest (-O3) Disco.menu.opt.o3std.build.flags.optimize=-O3 -Disco.menu.opt.o3std.build.flags.ldspecs= Disco.menu.opt.o3lto=Fastest (-O3) with LTO Disco.menu.opt.o3lto.build.flags.optimize=-O3 -flto -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.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= GenF4.menu.opt.osstd=Smallest (-Os default) GenF4.menu.opt.osstd.build.flags.optimize=-Os -GenF4.menu.opt.osstd.build.flags.ldspecs= GenF4.menu.opt.oslto=Smallest (-Os) with LTO GenF4.menu.opt.oslto.build.flags.optimize=-Os -flto -GenF4.menu.opt.oslto.build.flags.ldspecs=-flto GenF4.menu.opt.o1std=Fast (-O1) GenF4.menu.opt.o1std.build.flags.optimize=-O1 -GenF4.menu.opt.o1std.build.flags.ldspecs= GenF4.menu.opt.o1lto=Fast (-O1) with LTO GenF4.menu.opt.o1lto.build.flags.optimize=-O1 -flto -GenF4.menu.opt.o1lto.build.flags.ldspecs=-flto GenF4.menu.opt.o2std=Faster (-O2) GenF4.menu.opt.o2std.build.flags.optimize=-O2 -GenF4.menu.opt.o2std.build.flags.ldspecs= GenF4.menu.opt.o2lto=Faster (-O2) with LTO GenF4.menu.opt.o2lto.build.flags.optimize=-O2 -flto -GenF4.menu.opt.o2lto.build.flags.ldspecs=-flto GenF4.menu.opt.o3std=Fastest (-O3) GenF4.menu.opt.o3std.build.flags.optimize=-O3 -GenF4.menu.opt.o3std.build.flags.ldspecs= GenF4.menu.opt.o3lto=Fastest (-O3) with LTO GenF4.menu.opt.o3lto.build.flags.optimize=-O3 -flto -GenF4.menu.opt.o3lto.build.flags.ldspecs=-flto GenF4.menu.opt.ogstd=Debug (-g) GenF4.menu.opt.ogstd.build.flags.optimize=-g -Og -GenF4.menu.opt.ogstd.build.flags.ldspecs= Maple.menu.opt.osstd=Smallest (-Os default) 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= RAK.menu.opt.osstd=Smallest (-Os default) RAK.menu.opt.oslto=Smallest (-Os) with LTO RAK.menu.opt.oslto.build.flags.optimize=-Os -flto -RAK.menu.opt.oslto.build.flags.ldspecs=-flto RAK.menu.opt.o1std=Fast (-O1) RAK.menu.opt.o1std.build.flags.optimize=-O1 -RAK.menu.opt.o1std.build.flags.ldspecs= RAK.menu.opt.o1lto=Fast (-O1) with LTO RAK.menu.opt.o1lto.build.flags.optimize=-O1 -flto -RAK.menu.opt.o1lto.build.flags.ldspecs=-flto RAK.menu.opt.o2std=Faster (-O2) RAK.menu.opt.o2std.build.flags.optimize=-O2 -RAK.menu.opt.o2std.build.flags.ldspecs= RAK.menu.opt.o2lto=Faster (-O2) with LTO RAK.menu.opt.o2lto.build.flags.optimize=-O2 -flto -RAK.menu.opt.o2lto.build.flags.ldspecs=-flto RAK.menu.opt.o3std=Fastest (-O3) RAK.menu.opt.o3std.build.flags.optimize=-O3 -RAK.menu.opt.o3std.build.flags.ldspecs= RAK.menu.opt.o3lto=Fastest (-O3) with LTO RAK.menu.opt.o3lto.build.flags.optimize=-O3 -flto -RAK.menu.opt.o3lto.build.flags.ldspecs=-flto RAK.menu.opt.ogstd=Debug (-g) RAK.menu.opt.ogstd.build.flags.optimize=-g -Og -RAK.menu.opt.ogstd.build.flags.ldspecs= RemRam.menu.opt.osstd=Smallest (-Os default) RemRam.menu.opt.oslto=Smallest (-Os) with LTO RemRam.menu.opt.oslto.build.flags.optimize=-Os -flto -RemRam.menu.opt.oslto.build.flags.ldspecs=-flto RemRam.menu.opt.o1std=Fast (-O1) RemRam.menu.opt.o1std.build.flags.optimize=-O1 -RemRam.menu.opt.o1std.build.flags.ldspecs= RemRam.menu.opt.o1lto=Fast (-O1) with LTO RemRam.menu.opt.o1lto.build.flags.optimize=-O1 -flto -RemRam.menu.opt.o1lto.build.flags.ldspecs=-flto RemRam.menu.opt.o2std=Faster (-O2) RemRam.menu.opt.o2std.build.flags.optimize=-O2 -RemRam.menu.opt.o2std.build.flags.ldspecs= RemRam.menu.opt.o2lto=Faster (-O2) with LTO RemRam.menu.opt.o2lto.build.flags.optimize=-O2 -flto -RemRam.menu.opt.o2lto.build.flags.ldspecs=-flto RemRam.menu.opt.o3std=Fastest (-O3) RemRam.menu.opt.o3std.build.flags.optimize=-O3 -RemRam.menu.opt.o3std.build.flags.ldspecs= RemRam.menu.opt.o3lto=Fastest (-O3) with LTO RemRam.menu.opt.o3lto.build.flags.optimize=-O3 -flto -RemRam.menu.opt.o3lto.build.flags.ldspecs=-flto RemRam.menu.opt.ogstd=Debug (-g) RemRam.menu.opt.ogstd.build.flags.optimize=-g -Og -RemRam.menu.opt.ogstd.build.flags.ldspecs= + +# C Runtime Library +Nucleo_144.menu.rtlib.nano=Newlib Nano (default) +Nucleo_144.menu.rtlib.nanofp=Newlib Nano + Float Printf +Nucleo_144.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float +Nucleo_144.menu.rtlib.nanofs=Newlib Nano + Float Scanf +Nucleo_144.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float +Nucleo_144.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf +Nucleo_144.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float +Nucleo_144.menu.rtlib.full=Newlib Standard +Nucleo_144.menu.rtlib.full.build.flags.ldspecs= + +Nucleo_64.menu.rtlib.nano=Newlib Nano (default) +Nucleo_64.menu.rtlib.nanofp=Newlib Nano + Float Printf +Nucleo_64.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float +Nucleo_64.menu.rtlib.nanofs=Newlib Nano + Float Scanf +Nucleo_64.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float +Nucleo_64.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf +Nucleo_64.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float +Nucleo_64.menu.rtlib.full=Newlib Standard +Nucleo_64.menu.rtlib.full.build.flags.ldspecs= + +Nucleo_32.menu.rtlib.nano=Newlib Nano (default) +Nucleo_32.menu.rtlib.nanofp=Newlib Nano + Float Printf +Nucleo_32.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float +Nucleo_32.menu.rtlib.nanofs=Newlib Nano + Float Scanf +Nucleo_32.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float +Nucleo_32.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf +Nucleo_32.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float +Nucleo_32.menu.rtlib.full=Newlib Standard +Nucleo_32.menu.rtlib.full.build.flags.ldspecs= + +Disco.menu.rtlib.nano=Newlib Nano (default) +Disco.menu.rtlib.nanofp=Newlib Nano + Float Printf +Disco.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float +Disco.menu.rtlib.nanofs=Newlib Nano + Float Scanf +Disco.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float +Disco.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf +Disco.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float +Disco.menu.rtlib.full=Newlib Standard +Disco.menu.rtlib.full.build.flags.ldspecs= + +GenF103.menu.rtlib.nano=Newlib Nano (default) +GenF103.menu.rtlib.nanofp=Newlib Nano + Float Printf +GenF103.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float +GenF103.menu.rtlib.nanofs=Newlib Nano + Float Scanf +GenF103.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float +GenF103.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf +GenF103.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float +GenF103.menu.rtlib.full=Newlib Standard +GenF103.menu.rtlib.full.build.flags.ldspecs= + +GenF4.menu.rtlib.nano=Newlib Nano (default) +GenF4.menu.rtlib.nanofp=Newlib Nano + Float Printf +GenF4.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float +GenF4.menu.rtlib.nanofs=Newlib Nano + Float Scanf +GenF4.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float +GenF4.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf +GenF4.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float +GenF4.menu.rtlib.full=Newlib Standard +GenF4.menu.rtlib.full.build.flags.ldspecs= + +Maple.menu.rtlib.nano=Newlib Nano (default) +Maple.menu.rtlib.nanofp=Newlib Nano + Float Printf +Maple.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float +Maple.menu.rtlib.nanofs=Newlib Nano + Float Scanf +Maple.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float +Maple.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf +Maple.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float +Maple.menu.rtlib.full=Newlib Standard +Maple.menu.rtlib.full.build.flags.ldspecs= + +RAK.menu.rtlib.nano=Newlib Nano (default) +RAK.menu.rtlib.nanofp=Newlib Nano + Float Printf +RAK.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float +RAK.menu.rtlib.nanofs=Newlib Nano + Float Scanf +RAK.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float +RAK.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf +RAK.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float +RAK.menu.rtlib.full=Newlib Standard +RAK.menu.rtlib.full.build.flags.ldspecs= + +RemRam.menu.rtlib.nano=Newlib Nano (default) +RemRam.menu.rtlib.nanofp=Newlib Nano + Float Printf +RemRam.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float +RemRam.menu.rtlib.nanofs=Newlib Nano + Float Scanf +RemRam.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float +RemRam.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf +RemRam.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float +RemRam.menu.rtlib.full=Newlib Standard +RemRam.menu.rtlib.full.build.flags.ldspecs= diff --git a/platform.txt b/platform.txt index 01ac507e35..4260277745 100644 --- a/platform.txt +++ b/platform.txt @@ -33,7 +33,7 @@ compiler.extra_flags=-mcpu={build.mcu} -mthumb "@{build.opt.path}" compiler.S.flags={compiler.extra_flags} -c -x assembler-with-cpp {compiler.stm.extra_include} -compiler.c.flags={compiler.extra_flags} -c {build.flags.optimize} {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD {compiler.stm.extra_include} +compiler.c.flags={compiler.extra_flags} -c {build.flags.optimize} {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -MMD {compiler.stm.extra_include} compiler.cpp.flags={compiler.extra_flags} -c {build.flags.optimize} {compiler.warning_flags} -std={compiler.cpp.std} -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -MMD {compiler.stm.extra_include} @@ -46,7 +46,7 @@ compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-flags=.eeprom=alloc, compiler.elf2bin.flags=-O binary compiler.elf2hex.flags=-O ihex -compiler.ldflags={build.flags.ldspecs} +compiler.ldflags= compiler.size.cmd=arm-none-eabi-size compiler.define=-DARDUINO= @@ -82,7 +82,7 @@ build.info.flags=-D{build.series} -DARDUINO={runtime.ide.version} -DARDUINO_{bui build.xSerial=-DHAL_UART_MODULE_ENABLED build.enable_usb= build.flags.optimize=-Os -build.flags.ldspecs= +build.flags.ldspecs=--specs=nano.specs # Pre and post build hooks build.opt.name=build_opt.h @@ -110,7 +110,7 @@ recipe.S.o.pattern="{compiler.path}{compiler.S.cmd}" {compiler.S.flags} {build.i recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}" ## Combine gc-sections, archives, and objects -recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} {compiler.ldflags} {compiler.arm.cmsis.ldflags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -Wl,--start-group {object_files} -Wl,--whole-archive "{archive_file_path}" -Wl,--no-whole-archive -lc -Wl,--end-group -lm -lgcc -lstdc++ --specs=nano.specs +recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} {compiler.ldflags} {compiler.arm.cmsis.ldflags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -Wl,--start-group {object_files} -Wl,--whole-archive "{archive_file_path}" -Wl,--no-whole-archive -lc -Wl,--end-group -lm -lgcc -lstdc++ ## Create output (.bin file) recipe.objcopy.bin.pattern="{compiler.path}{compiler.objcopy.cmd}" {compiler.elf2bin.flags} {compiler.elf2bin.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.bin"