scripts: support CanBoot on RP2040 in flash_usb.py
Signed-off-by: Chris Lee <clee@mg8.org>
This commit is contained in:
parent
f078a27905
commit
aac613bf44
|
@ -193,6 +193,7 @@ def call_picoboot(bus, addr, binfile, sudo):
|
||||||
|
|
||||||
# Flash via Klipper modified "picoboot"
|
# Flash via Klipper modified "picoboot"
|
||||||
def flash_picoboot(device, binfile, sudo):
|
def flash_picoboot(device, binfile, sudo):
|
||||||
|
ttyname, serbypath = translate_serial_to_tty(device)
|
||||||
buspath, devpath = translate_serial_to_usb_path(device)
|
buspath, devpath = translate_serial_to_usb_path(device)
|
||||||
# We need one level up to get access to busnum/devnum files
|
# We need one level up to get access to busnum/devnum files
|
||||||
usbdir = os.path.dirname(devpath)
|
usbdir = os.path.dirname(devpath)
|
||||||
|
@ -202,6 +203,9 @@ def flash_picoboot(device, binfile, sudo):
|
||||||
bus = f.read().strip()
|
bus = f.read().strip()
|
||||||
with open(usbdir + "/devnum") as f:
|
with open(usbdir + "/devnum") as f:
|
||||||
addr = f.read().strip()
|
addr = f.read().strip()
|
||||||
|
if detect_canboot(devpath):
|
||||||
|
call_flashcan(serbypath, binfile)
|
||||||
|
else:
|
||||||
call_picoboot(bus, addr, binfile, sudo)
|
call_picoboot(bus, addr, binfile, sudo)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ $(OUT)klipper.uf2: $(OUT)klipper.elf $(OUT)lib/rp2040/elf2uf2/elf2uf2
|
||||||
@echo " Creating uf2 file $@"
|
@echo " Creating uf2 file $@"
|
||||||
$(Q)$(OUT)lib/rp2040/elf2uf2/elf2uf2 $< $@
|
$(Q)$(OUT)lib/rp2040/elf2uf2/elf2uf2 $< $@
|
||||||
|
|
||||||
target-$(CONFIG_RP2040_HAVE_STAGE2) += $(OUT)klipper.uf2
|
rptarget-$(CONFIG_RP2040_HAVE_STAGE2) := $(OUT)klipper.uf2
|
||||||
rplink-$(CONFIG_RP2040_HAVE_STAGE2) := $(OUT)src/rp2040/rp2040_link.ld
|
rplink-$(CONFIG_RP2040_HAVE_STAGE2) := $(OUT)src/rp2040/rp2040_link.ld
|
||||||
stage2-$(CONFIG_RP2040_HAVE_STAGE2) := $(OUT)stage2.o
|
stage2-$(CONFIG_RP2040_HAVE_STAGE2) := $(OUT)stage2.o
|
||||||
|
|
||||||
|
@ -54,10 +54,11 @@ $(OUT)klipper.bin: $(OUT)klipper.elf
|
||||||
@echo " Creating bin file $@"
|
@echo " Creating bin file $@"
|
||||||
$(Q)$(OBJCOPY) -O binary $< $@
|
$(Q)$(OBJCOPY) -O binary $< $@
|
||||||
|
|
||||||
target-$(CONFIG_RP2040_HAVE_BOOTLOADER) += $(OUT)klipper.bin
|
rptarget-$(CONFIG_RP2040_HAVE_BOOTLOADER) := $(OUT)klipper.bin
|
||||||
rplink-$(CONFIG_RP2040_HAVE_BOOTLOADER) := $(OUT)src/generic/armcm_link.ld
|
rplink-$(CONFIG_RP2040_HAVE_BOOTLOADER) := $(OUT)src/generic/armcm_link.ld
|
||||||
|
|
||||||
# Set klipper.elf linker rules
|
# Set klipper.elf linker rules
|
||||||
|
target-y += $(rptarget-y)
|
||||||
CFLAGS_klipper.elf += --specs=nano.specs --specs=nosys.specs -T $(rplink-y)
|
CFLAGS_klipper.elf += --specs=nano.specs --specs=nosys.specs -T $(rplink-y)
|
||||||
OBJS_klipper.elf += $(stage2-y)
|
OBJS_klipper.elf += $(stage2-y)
|
||||||
$(OUT)klipper.elf: $(stage2-y) $(rplink-y)
|
$(OUT)klipper.elf: $(stage2-y) $(rplink-y)
|
||||||
|
@ -67,6 +68,6 @@ lib/rp2040_flash/rp2040_flash:
|
||||||
@echo " Building rp2040_flash"
|
@echo " Building rp2040_flash"
|
||||||
$(Q)make -C lib/rp2040_flash rp2040_flash
|
$(Q)make -C lib/rp2040_flash rp2040_flash
|
||||||
|
|
||||||
flash: $(OUT)klipper.uf2 lib/rp2040_flash/rp2040_flash
|
flash: $(rptarget-y) lib/rp2040_flash/rp2040_flash
|
||||||
@echo " Flashing $< to $(FLASH_DEVICE)"
|
@echo " Flashing $< to $(FLASH_DEVICE)"
|
||||||
$(Q)$(PYTHON) ./scripts/flash_usb.py -t $(CONFIG_MCU) -d "$(FLASH_DEVICE)" $(if $(NOSUDO),--no-sudo) $(OUT)klipper.uf2
|
$(Q)$(PYTHON) ./scripts/flash_usb.py -t $(CONFIG_MCU) -d "$(FLASH_DEVICE)" $(if $(NOSUDO),--no-sudo) $(rptarget-y)
|
||||||
|
|
Loading…
Reference in New Issue