samd21: Add support for flashing an application via the bossac tool

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2018-11-30 22:22:42 -05:00
parent f2179da8ad
commit e505ab0df1
2 changed files with 15 additions and 5 deletions

View File

@ -195,8 +195,12 @@ SAMD21. One comes standard with the "Arduino Zero" and the other comes
standard with the "Arduino M0". standard with the "Arduino M0".
The Arduino Zero uses an 8KiB bootloader (the application must be The Arduino Zero uses an 8KiB bootloader (the application must be
compiled with a start address of 8KiB). This document does not cover compiled with a start address of 8KiB). One can enter the bootloader
the flashing mechanism for this bootloader. by double clicking the reset button. To flash an application use
something like:
```
bossac -U -p "$(FLASH_DEVICE)" --offset=0x2000 -w out/klipper.bin -v -b -R
```
The Arduino M0 uses a 16KiB bootloader (the application must be The Arduino M0 uses a 16KiB bootloader (the application must be
compiled with a start address of 16KiB). To flash an application, compiled with a start address of 16KiB). To flash an application,

View File

@ -42,6 +42,12 @@ $(OUT)klipper.elf.hex: $(OUT)klipper.elf
@echo " Creating hex file $@" @echo " Creating hex file $@"
$(Q)$(OBJCOPY) -j .text -j .relocate -O ihex $< $@ $(Q)$(OBJCOPY) -j .text -j .relocate -O ihex $< $@
flash: $(OUT)klipper.bin # Flash rules
@echo "" lib/bossac/bin/bossac:
@echo " The SAMD21 build does not currently support 'make flash'" @echo " Building bossac"
$(Q)make -C lib/bossac bin/bossac
flash: $(OUT)klipper.bin lib/bossac/bin/bossac
@echo " Flashing $^ to $(FLASH_DEVICE) via bossac"
$(Q)if [ -z $(FLASH_DEVICE) ]; then echo "Please specify FLASH_DEVICE"; exit 1; fi
$(Q)lib/bossac/bin/bossac -U -p "$(FLASH_DEVICE)" --offset=0x2000 -w $(OUT)klipper.bin -v -b -R