Closed Sineos closed 2 years ago
When using make FLASH
with CanBoot it is necessary to specify the device location (ie: /dev/ttyACM0
). Currently specifying a device ID will always launch dfu-util
. This is something flash_usb.py
could probably handle better, Kevin briefly discussed some modifications that are related in this pull request.
Right now CanBoot uses the bootloader offset that Smoothieware uses, so the smoothieware bootloader needs to be checked in the Klipper build. CanBoot doesn't need the full 16KiB Smoothie does, so we might want to look into adding an additional bootloader offset.
With regard to the checksum verification, its a detail specific to lpc176x processors. The programming utility is responsible for calculating and writing the checksum during the upload process. The lpc21isp
and flashmagic
utilities handle this correctly when programming over UART, it appears that OpenOCD does not.
Thanks for the insights. Appreciated.
Flashing via the device ID would generally be more comfortable as it can easily be retrieved via lsusb
I flashed CanBoot on my SKR 1.4 Turbo and noted some items:
Flashing Klipper
Building Klipper for the SKR 1.4 and having Smoothieware Bootloader enabled leads to:
Flashing with
./lib/canboot/flash_can.py -d /dev/ttyACM0
works fine and board boots correctlyBuilding Klipper for the board but disabling the Smoothieware Bootloader leads to:
Flashing succeeds but the board does not boot.
Flashing CanBoot with STLink and OpenOCD
I'm by no means an OpenOCD expert and the command may be complete rubbish: