diff --git a/platform.txt b/platform.txt index 8eb738f..bab996f 100644 --- a/platform.txt +++ b/platform.txt @@ -27,10 +27,16 @@ compiler.warning_flags.default= compiler.warning_flags.more=-Wall compiler.warning_flags.all=-Wall -Wextra +# EXPERIMENTAL feature: optimization flags +# - this is alpha and may be subject to change without notice +compiler.optimization_flags=-Os +compiler.optimization_flags.release=-Os +compiler.optimization_flags.debug=-Og -g3 + compiler.extra_flags = -march=rv32imc_zicsr_zifencei -mabi=ilp32 -mcmodel=medlow {build.flags.optimize} -g3 -Wall -fsigned-char -ffunction-sections compiler.S.flags = {compiler.extra_flags} -x assembler-with-cpp {compiler.define} {compiler.warning_flags} {compiler.MIK32_Amur.extra_include} -compiler.c.flags = -c -std=gnu11 {compiler.extra_flags} {compiler.define} {compiler.warning_flags} {compiler.MIK32_Amur.extra_include} -compiler.cpp.flags = -c -std=gnu++17 -fabi-version=0 -fno-exceptions -fno-rtti -fno-use-cxa-atexit -fno-threadsafe-statics {compiler.extra_flags} {compiler.define} {compiler.warning_flags} {compiler.MIK32_Amur.extra_include} +compiler.c.flags = -c -std=gnu11 {compiler.extra_flags} {compiler.define} {compiler.warning_flags} {compiler.optimization_flags} {compiler.MIK32_Amur.extra_include} +compiler.cpp.flags = -c -std=gnu++17 -fabi-version=0 -fno-exceptions -fno-rtti -fno-use-cxa-atexit -fno-threadsafe-statics {compiler.extra_flags} {compiler.define} {compiler.warning_flags} {compiler.optimization_flags} {compiler.MIK32_Amur.extra_include} compiler.c.elf.flags = -march=rv32imc_zicsr_zifencei -mabi=ilp32 -mcmodel=medlow -nostartfiles -Xlinker compiler.ar.flags=rc compiler.elf2bin.flags=-O binary @@ -59,6 +65,43 @@ recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build recipe.size.regex= ^(?:\.text|\.data|\.rodata)\s+([0-9]+).* recipe.size.regex.data= ^(?:\.data|\.bss|\.noinit)\s+([0-9]+).* +# Debugger configuration (general options) +# ---------------------------------------- +# EXPERIMENTAL feature: +# - this is alpha and may be subject to change without notice + +debug_script.mik32=target/mik32.cfg +debug_config.mik32.cortex-debug.custom.name=Arduino on Mik32 +debug_config.mik32.cortex-debug.custom.overrideLaunchCommands.0=set mem inaccessible-by-default off +debug_config.mik32.cortex-debug.custom.overrideLaunchCommands.1=mem 0x01000000 0x01002000 ro +debug_config.mik32.cortex-debug.custom.overrideLaunchCommands.2=mem 0x80000000 0xffffffff ro +debug_config.mik32.cortex-debug.custom.overrideLaunchCommands.3=set arch riscv:rv32 +debug_config.mik32.cortex-debug.custom.overrideLaunchCommands.4=set remotetimeout 10 +debug_config.mik32.cortex-debug.custom.overrideLaunchCommands.5=set remote hardware-breakpoint-limit 2 +debug_config.mik32.cortex-debug.custom.overrideLaunchCommands.6=monitor reset +debug_config.mik32.cortex-debug.custom.overrideLaunchCommands.7=monitor halt +debug_config.mik32.cortex-debug.custom.overrideLaunchCommands.8=monitor gdb sync +debug_config.mik32.cortex-debug.custom.overrideLaunchCommands.9=thb setup + +debug_config.mik32.cortex-debug.custom.overrideRestartCommands.0=monitor reset +debug_config.mik32.cortex-debug.custom.overrideRestartCommands.1=monitor halt +debug_config.mik32.cortex-debug.custom.overrideRestartCommands.2=monitor gdb sync +debug_config.mik32.cortex-debug.custom.overrideRestartCommands.3=thb setup + +debug.executable={build.path}/{build.project_name}.elf +debug.toolchain=gcc +debug.toolchain.path={runtime.tools.riscv.path}/bin/ +debug.toolchain.prefix=riscv-none-elf- + +debug.server=openocd +debug.server.openocd.path={runtime.tools.openocd.path}/bin/openocd +debug.server.openocd.scripts_dir={runtime.tools.mik32_upload.path}/openocd-scripts/ +debug.server.openocd.scripts.0={debug.server.openocd.scripts_dir}/interface/ftdi/mikron-link.cfg +debug.server.openocd.scripts.1={debug.server.openocd.scripts_dir}/{debug_script.mik32} + +debug.cortex-debug.custom.objdumpPath={compiler.path}{compiler.prefix}objdump +debug.additional_config=debug_config.mik32 + # Uploader tool tools.elbear_uploader.cmd=elbear_uploader tools.elbear_uploader.cmd.windows=elbear_uploader.exe