Difference between revisions of "DFU"

From PaparazziUAV
Jump to navigation Jump to search
(Created page with "{| align=right |- |<categorytree style="float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;" mode=pages>Firmware Flashing</categorytree> |} __TOC_…")
 
m
Line 6: Line 6:
__TOC__
__TOC__


DFU (Device Firmware Upgrade) is the standard method to upload paparazzi code to the stm32fx MCU via usb.<br/>
DFU (Device Firmware Upgrade) is the standard method to upload paparazzi code to a stm32fx MCU via usb.<br/>
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).
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==
==Entering dfu mode==
===With extra bootloader===
===With extra bootloader===
[[Luftboot]] will enter dfu mode automatically if the board is connected to a pc.<br/>
[[Luftboot]] will enter dfu mode automatically if the board is connected to a pc.<br/>
[[KroozSD#Bootloader|KroozSD]]has also a own dfu bootloader.
[[KroozSD#Bootloader|KroozSD]] has also a own dfu bootloader.


===with native dfu bootloader===
===with native dfu bootloader===
Line 20: Line 20:
  dfu-util -l
  dfu-util -l


this will list all devices in dfu-mode
this will list all devices in dfu-mode connected via usb


==Arframe configuration==
'''Flash_Mode=DFU''' must be set
:<source lang="xml"><configure name="FLASH_MODE" value="DFU"/></source>
==Software Tools==
==Software Tools==
dfu-util is needed and must be installed
dfu-util is needed and must be installed

Revision as of 03:15, 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 connected via usb

Arframe 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.