From 6fff7b23b3d86b68c93851ebf85dabec2f52c716 Mon Sep 17 00:00:00 2001 From: Thibaut VIARD <thibaut.viard@atmel.com> Date: Fri, 16 May 2014 18:53:59 +0200 Subject: [PATCH] Updating board files for openocd flash programming --- boards.txt | 6 +++++- platform.txt | 8 +++++--- .../arduino_zero/openocd_scripts/arduino_zero.cfg | 11 +++++++++++ 3 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 variants/arduino_zero/openocd_scripts/arduino_zero.cfg diff --git a/boards.txt b/boards.txt index d7600b87..2b79e2d3 100644 --- a/boards.txt +++ b/boards.txt @@ -15,6 +15,7 @@ arduino_zero_dbg.build.board=SAM_ZERO arduino_zero_dbg.build.core=arduino arduino_zero_dbg.build.extra_flags=-D__SAMD21G18A__ -mthumb {build.usb_flags} arduino_zero_dbg.build.ldscript=linker_scripts/gcc/flash.ld +arduino_zero_dbg.build.openocdscript=openocd_scripts/arduino_zero.cfg arduino_zero_dbg.build.variant=arduino_zero arduino_zero_dbg.build.variant_system_lib= arduino_zero_dbg.build.vid=0x03eb @@ -36,6 +37,7 @@ arduino_zero.build.board=SAM_ZERO arduino_zero.build.core=arduino arduino_zero.build.extra_flags=-D__SAMD21G18A__ -mthumb {build.usb_flags} arduino_zero.build.ldscript=linker_scripts/gcc/flash.ld +arduino_zero.build.openocdscript=openocd_scripts/arduino_zero.cfg arduino_zero.build.variant=arduino_zero arduino_zero.build.variant_system_lib= arduino_zero.build.vid=0x2341 @@ -57,6 +59,7 @@ arduino_zero_bl_dbg.build.board=SAM_ZERO arduino_zero_bl_dbg.build.core=arduino arduino_zero_bl_dbg.build.extra_flags=-D__SAMD21G18A__ -mthumb {build.usb_flags} arduino_zero_bl_dbg.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld +arduino_zero_bl.build.openocdscript=openocd_scripts/arduino_zero.cfg arduino_zero_bl_dbg.build.variant=arduino_zero arduino_zero_bl_dbg.build.variant_system_lib= arduino_zero_bl_dbg.build.vid=0x03eb @@ -78,7 +81,8 @@ arduino_zero_bl.build.board=SAM_ZERO arduino_zero_bl.build.core=arduino arduino_zero_bl.build.extra_flags=-D__SAMD21G18A__ -mthumb {build.usb_flags} arduino_zero_bl.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -arduino_zero_bl.build.variant=arduino_zero_bl +arduino_zero_bl.build.openocdscript=openocd_scripts/arduino_zero.cfg +arduino_zero_bl.build.variant=arduino_zero arduino_zero_bl.build.variant_system_lib= arduino_zero_bl.build.vid=0x2341 arduino_zero_bl.build.pid=0x004d diff --git a/platform.txt b/platform.txt index ec2a9e0a..d6e38a80 100644 --- a/platform.txt +++ b/platform.txt @@ -55,7 +55,6 @@ recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -m recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{build.path}/{archive_file}" "{object_file}" ## Combine gc-sections, archives, and objects -#recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group "{build.path}/syscalls_sam3.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.path}/{archive_file}" -Wl,--end-group recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" -o "{build.path}/{build.project_name}.elf" --specs=nano.specs "-L{build.path}" -Wl,--start-group -lm -lgcc -Wl,--end-group -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group {object_files} "{build.path}/{archive_file}" -Wl,--end-group ## Create eeprom @@ -73,10 +72,13 @@ recipe.size.regex=\.text\s+([0-9]+).* # ------------------- tools.openocd.cmd=bin/openocd -tools.openocd.cmd.windows=openocd.exe +tools.openocd.cmd.windows=bin/openocd-0.8.0.exe tools.openocd.path={runtime.ide.path}/hardware/tools/openocd-0.8.0 tools.openocd.upload.params.verbose= tools.openocd.upload.params.quiet= -tools.openocd.upload.pattern="{path}/{cmd}" {upload.verbose} -s "{path}/share/openocd/scripts/" -f board/atmel_samd21_xplained_pro.cfg -c "program {build.path}/{build.project_name}.elf verify reset" +#tools.openocd.upload.pattern="{path}/{cmd}" {upload.verbose} -s "{path}/share/openocd/scripts/" -f board/atmel_samd21_xplained_pro.cfg -c "program {build.path}/{build.project_name}.elf verify reset" +tools.openocd.upload.pattern="{path}/{cmd}" {upload.verbose} -s "{path}/share/openocd/scripts/" -f {build.variant.path}/{build.variant}/{build.openocdscript} -c "program {build.path}/{build.project_name}.elf verify reset" +#tools.openocd.upload.pattern.windows="{path}/{cmd}" {upload.verbose} -s "{path}/scripts/" -f board/atmel_samd21_xplained_pro.cfg -c "program {build.path}/{build.project_name}.elf verify reset" +tools.openocd.upload.pattern.windows="{path}/{cmd}" -s "{path}/scripts/" -f "../../../arduino/samd/variants/{build.variant}/{build.openocdscript}" -c "program {build.path}/{build.project_name}.elf verify reset" diff --git a/variants/arduino_zero/openocd_scripts/arduino_zero.cfg b/variants/arduino_zero/openocd_scripts/arduino_zero.cfg new file mode 100644 index 00000000..d114849e --- /dev/null +++ b/variants/arduino_zero/openocd_scripts/arduino_zero.cfg @@ -0,0 +1,11 @@ +# +# Arduino Zero. +# + +source [find interface/cmsis-dap.cfg] + +# chip name +set CHIPNAME at91samd21g18 +set ENDIAN little + +source [find target/at91samdXX.cfg] -- GitLab