Repository navigation
Flashing and upgrading Firmware
Jim Morris edited this page Oct 22, 2023
·
1 revision
There are three use modes for flashing firmware.
- User upgrades
- Developer loading
- Brick recovery
Currently available methods.
- With network use the
upgradecommand - copy flashme.bin to sdcard and reboot, can use ftp, ymodem or USB serial download to get the file there (or sneaker net)
- Use fast download over USB serial
download-dl.py - Use JLink and gdb or jlinkflash
- Use STLink and STM32CubeProgrammer/bin/STM32_Programmer_CLI
- Use dfu-util -D binfile (needs the DFUflasher in qspi or high flash memory and needs to be enabled in config.ini)
- Use jlink or stlink (not good for end users)
- use the BOOT0 mode (press the BOOT0 button and reset)
- flash the .dfu file using either
dfu-util -d 0483:df11 -D smoothiev2_Devebox/smoothiev2.dfuorpython3 tools/pydfu.py -u smoothiev2_Devebox/smoothiev2.dfu - flash the .bin using STM32CubeProgrammer
STM32_Programmer_CLI -c port=usb1 -w smoothiev2_Devebox/smoothiev2.bin 0x08000000
- I would like to avoid a dedicated boot loader as V1 has as they are hard to upgrade, having the flashloader builtin means it gets upgraded as needed.
- What is needed to use pydfu.py on Windows
-
download the relevant stm32 cube programmer for your host from
http://smoothieware.org/_media/binen.stm32cubeprg-win64_v2-7-0.zip en.stm32cubeprg-lin_v2-7-0.zip en.stm32cubeprg-mac_v2-7-0.zip en.stm32cubeprg-win32_v2-7-0.zip
Install it then run
STM32_Programmer_CLI -c port=usb1 -w smoothiev2.bin 0x08000000