Difference between revisions of "DFU"
Line 15: | Line 15: | ||
===With native dfu bootloader=== | ===With native dfu bootloader=== | ||
This can be used on the stm32f4-discovery board e.g. | This can be used on the stm32f4-discovery board e.g. | ||
Provide the board with power and connect the usb cable for dfu upload (stm32f4-discovery can bot be powred through micro usb ab port) | Provide the board with power and connect the usb cable for dfu upload (stm32f4-discovery can bot be powred through micro usb ab port)<br/> | ||
Connect BOOT0 pin with 3V pin(BOOT1 with GND ?), press reset button , disconnect BOOT0 and 3V | Connect BOOT0 pin with 3V pin(BOOT1 with GND ?), press reset button , disconnect BOOT0 and 3V. | ||
dfu-util -l | dfu-util -l | ||
This will list all devices in dfu-mode. | |||
==Airframe configuration== | ==Airframe configuration== |
Revision as of 10:30, 14 September 2013
DFU (Device Firmware Upgrade) is the standard method to upload paparazzi code to a stm32fx MCU via usb.
The native dfu bootloader is already embedded in the ROM of the MCU. The MCU will not go automatically in dfu mode, so either Luftboot is needed or it is done on hardware side (e.g. stm32f4-discovery).
Entering dfu mode
With extra bootloader
Luftboot will enter dfu mode automatically if the board is connected to a pc.
KroozSD has also a own dfu bootloader.
With native dfu bootloader
This can be used on the stm32f4-discovery board e.g.
Provide the board with power and connect the usb cable for dfu upload (stm32f4-discovery can bot be powred through micro usb ab port)
Connect BOOT0 pin with 3V pin(BOOT1 with GND ?), press reset button , disconnect BOOT0 and 3V.
dfu-util -l
This will list all devices in dfu-mode.
Airframe configuration
Flash_Mode=DFU must be set
<configure name="FLASH_MODE" value="DFU"/>
Software Tools
dfu-util is needed and must be installed
sudo apt-get install dfu-util
More information about dfu-util can be found at their Homepage http://dfu-util.gnumonks.org
USB permission
At least Luftboot (does dfu-util need extra udev rules?) needs acsess to the USB ports via "stm32_mem.py", just copy the paparazzi udev rules into your system.