Difference between revisions of "DFU"

From PaparazziUAV
Jump to navigation Jump to search
m (added cathegory firmware flashing again)
m
Line 12: Line 12:
* native (embedded in ROM) dfu bootloader which uses external dfu-util
* native (embedded in ROM) dfu bootloader which uses external dfu-util


==[[Luftboot]]==
==custom bootloader (e.g.[[Luftboot]])==
This bootloader must be upload first, so paparazzi center can use stm32_mem.py to upload code to the MCU.<br/>
This bootloader must be upload first, so paparazzi center can use stm32_mem.py to upload code to the MCU.<br/>
This bootloader is available for Lisa(m)/Lia ([[Luftboot]]) and Krooz/kroozSD ([[KroozSD#Bootloader|KroozSD]]) boards.
This bootloader is available for LisaM/Lia ([[Luftboot]]) and Krooz/kroozSD ([[KroozSD#Bootloader|KroozSD]]) boards.


===airframe configuration===
===airframe configuration===
This will be set as default at the appropriate makefile of the board.<br/>
This will be set as default at the appropriate makefile of the board.<br/>
Set '''Flash_Mode=DFU'''  
Set '''Flash_Mode=DFU'''
===stm32_mem.py===
stm32_mem.py will be used to upload the code.<br/>
To get a list of possible options, run:
sw/tools/dfu/stm32_mem.py --help


==native dfu bootloader==
==native dfu bootloader==
Line 33: Line 38:
  sudo apt-get install dfu-util
  sudo apt-get install dfu-util
More information about dfu-util can be found at their Homepage [http://dfu-util.gnumonks.org/ http://dfu-util.gnumonks.org]
More information about dfu-util can be found at their Homepage [http://dfu-util.gnumonks.org/ http://dfu-util.gnumonks.org]
[[Category:Firmware Flashing]]
[[Category:Firmware Flashing]]

Revision as of 14:51, 18 September 2013

DFU (Device Firmware Upgrade) is the standard method to upload paparazzi code to a stm32 MCU via usb.

There are two different dfu bootloader which require different software:

  • custom Luftboot/KroozSD bootloader which uses stm32_mem.py script
  • native (embedded in ROM) dfu bootloader which uses external dfu-util

custom bootloader (e.g.Luftboot)

This bootloader must be upload first, so paparazzi center can use stm32_mem.py to upload code to the MCU.
This bootloader is available for LisaM/Lia (Luftboot) and Krooz/kroozSD (KroozSD) boards.

airframe configuration

This will be set as default at the appropriate makefile of the board.
Set Flash_Mode=DFU

stm32_mem.py

stm32_mem.py will be used to upload the code.
To get a list of possible options, run:

sw/tools/dfu/stm32_mem.py --help

native dfu bootloader

This bootloader is already embedded in the ROM of the MCU.
The MCU will not go automatically in dfu mode. To trigger dfu mode, connect pin BOOT0 with 3V(connect BOOT1 with GND ?), Reset MCU, disconnect BOOT0.

airframe configuration

This will be set as default at the appropriate makefile of the board.
Set Flash_Mode=DFU
Set DFU_UTIL=y

needed software

dfu-util packet is needed for this bootloader.

sudo apt-get install dfu-util

More information about dfu-util can be found at their Homepage http://dfu-util.gnumonks.org