cancel
Showing results for 
Search instead for 
Did you mean: 

How to flash external flash with DfuSe?

b_
Associate II
Posted on August 27, 2014 at 16:41

Hi All

I'm working with Keils' Eval Board MCBSTM32F200 which has external NOR Flash attatched to the STM32F207IG. For my final application I would like to use the DfuSe Mode to upgrade my firmware which is located on the internal and external flash.

So my question is, how can I update my external flash with DfuSe?

Because if I use the DfuSe Demo v3.0.3 tool from ST I only see the internal flash and no entry for the external.

Is it even possible to flash the external flash?

Cheers

Ben

#stm32 #dfu #dfuse
4 REPLIES 4
Posted on August 27, 2014 at 16:55

Is it even possible to flash the external flash?

The answer would seem to be Yes, I've seen a 16MB DFU file for an STM32F1 board. You'd likely have to provide flashing code at some level to implement the configuration of the external interface, and communicate with you flash chips.

STM3210E-EVAL_Demo_NORFlash_V2.0.0.dfu

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
b_
Associate II
Posted on August 28, 2014 at 07:57

Hi clive1

Thank you for your quick answer.

Your stated dfu-File leads to a ST user manual

http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/CD00196451.pdf

where a screen shot shows a NOR flash in the targets table. This's what I'm missing on my table.

How do I get the NOR Flash coming up on my DfuSe Demo application?

Posted on August 28, 2014 at 19:04

How do I get the NOR Flash coming up on my DfuSe Demo application?

Write a DFU firmware that provides one as a descriptor. The System Loader isn't going to support anything other than the Internal Flash. STM32_USB-FS-Device_Lib_V4.0.0\Projects\Device_Firmware_Upgrade\src\usb_desc.c

uint8_t DFU_StringInterface2_2[DFU_SIZ_STRING_INTERFACE2] =
{
DFU_SIZ_STRING_INTERFACE2,
0x03,
// Interface 1: ''@ NOR Flash: M29W128 /0x64000000/128*128Kg''
'@', 0, 'N', 0, 'O', 0, 'R', 0, ' ', 0, 'F', 0, 'l', 0, 'a', 0, 's', 0,
'h', 0, ' ', 0, ':', 0, ' ', 0, 'M', 0, '2', 0, '9', 0, 'W', 0, '1', 0, '2', 0, '8', 0, 'G', 0,
'/', 0, '0', 0, 'x', 0, '6', 0, '4', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0,
'/', 0, '1', 0, '2', 0, '8', 0, '*', 0, '1', 0, '2', 0, '8', 0, 'K', 0, 'g', 0
};
uint8_t DFU_StringInterface2_3[DFU_SIZ_STRING_INTERFACE2] =
{
DFU_SIZ_STRING_INTERFACE2,
0x03,
// Interface 1: ''@ NOR Flash:S29GL128 /0x64000000/128*128Kg''
'@', 0, 'N', 0, 'O', 0, 'R', 0, ' ', 0, 'F', 0, 'l', 0, 'a', 0, 's', 0,
'h', 0, ' ', 0, ':', 0, ' ', 0, 'S', 0, '2', 0, '9', 0, 'G', 0, 'L', 0 , '1', 0, '2', 0, '8', 0,
'/', 0, '0', 0, 'x', 0, '6', 0, '4', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0,
'/', 0, '1', 0, '2', 0, '8', 0, '*', 0, '1', 0, '2', 0, '8', 0, 'K', 0, 'g', 0
};

Review: STM32_USB-FS-Device_Lib_V4.0.0\Projects\Device_Firmware_Upgrade\src\fsmc_nor.c STM32_USB-Host-Device_Lib_V2.1.0\Project\USB_Device_Examples\DFU\src
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
b_
Associate II
Posted on August 29, 2014 at 11:30

Hi clive1

Thank you I got the whole project and now trying to get it running on my STM32F207.

Many thanks for your help.

Cheers

Ben