AnsweredAssumed Answered

How to load application using USB DFU loader

Question asked by Farber.Alex on Feb 13, 2017
Latest reply on Feb 16, 2017 by Clive One

Short description: I can load .dfu file from DFU_Standalone code sample, but cannot load my own .dfu file.

 

Details:

I am trying to work with DFU_Standalone code sample. It works with STM32469I_EVAL_SysTick_0x08008000.dfu file provided in Binary directory.
So, I open STM32469I-EVAL_USBD-FS project (full path STM32Cube_FW_F4_V1.14.0\Projects\STM32469I_EVAL\Applications\USB_Device\DFU_Standalone\SW4STM32\STM32469I-EVAL_USBD-FS) in the System Workbench for STM32, build and execute it. Then I run DfuSeDemo application and see "STM Device in DFU mode". After this I click "Choose" button in "Upgrade" box, select STM32469I_EVAL_SysTick_0x08008000.dfu file, click "Upgrade". Finally, I execute "Leave DFU mode". STM32469I_EVAL_SysTick_0x08008000 is activated, I see 4 LEDs animation on the board.

 

Now I want to load another application, instead of STM32469I_EVAL_SysTick_0x08008000. So, I open GPIO_IOToggle code sample in the System Workbench (full path is STM32Cube_FW_F4_V1.14.0\Projects\STM32469I_EVAL\Examples\GPIO\GPIO_IOToggle\SW4STM32) and build it. Result is STM32469I_EVAL.bin file. Then I execute DfuFileMgr.exe, and generate STM32469I_EVAL.dfu file from STM32469I_EVAL.bin. In Multi Bin injection I fill Address value with 08008000. Finally, I run DfuSeDemo, upgrade STM32469I_EVAL.dfu file and click "Leave DFU mode". Application is not loaded, DFU_Standalone program remains active. No LED animation, and DfuSe Demo stlll shows "STM Device in DFU mode".

 

So, how can I make .dfu file from my own project, which is loadable by DFU_Standalone bootloader? In the file DFU_Standalone\Binary\readme.txt I see: The offset address of this binary is 0x08008000 which matches the definition in DFU application "USBD_DFU_APP_DEFAULT_ADD".

 

How can I set this offset in GPIO_IOToggle project? What changes exactly should I make in any project, to make a binary loadable by DFU_Standalone and DfuSeDemo programs?

 

Environment:

 

OS: Windows 10 x64
Board: STM32469I-EVAL
STM32Cube_FW_F4_V1.14.0
STM32 Workbench v.1.8
DfuSe_Demo_V3.0.5_Setup

Outcomes