2014-08-27 07:41 AM
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 #dfuse2014-08-27 07:55 AM
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.dfu2014-08-27 10:57 PM
Hi clive1
Thank you for your quick answer. Your stated dfu-File leads to a ST user manualhttp://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?2014-08-28 10:04 AM
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
2014-08-29 02:30 AM
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