cancel
Showing results for 
Search instead for 
Did you mean: 

DFU & HSI

gkovelman
Associate II
Posted on March 31, 2016 at 11:32

Hi,

Does the DFU mode in the bootloader require an HSE crystal? Can it work with the HSI oscillator? I'm using USB FS and CDC mode is working flawlessly, the same should be applied for the DFU mode.

Best regards,

#dfu #stm32 #usb
9 REPLIES 9
Walid FTITI_O
Senior II
Posted on March 31, 2016 at 11:59

Hi kovelman.gregory,

Yes , both HSE and HSI can be used for USB DFU. For more details, you can refer to

http://www.st.com/web/en/resource/technical/document/application_note/CD00264379.pdf

'' USB DFU protocol used in the STM32 bootloader''.

You can, also, check ''bootloader configuration'' relevant to your device in the

http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf

'' STM32 microcontroller system memory boot mode''.

-Hannibal-

gkovelman
Associate II
Posted on March 31, 2016 at 14:30

Can the bootloader with USB DFU use only the HSI, without the HSE?

Posted on March 31, 2016 at 17:31

And what ''STM32'' is this, they make like a hundred versions/families now?

Pretty sure the F2/F4 family have the system loader benchmarks the attached HSE, and confirm it matches one of the supported frequencies. Hard to see you meeting USB specifications with the HSI, which is why it is generally not done.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
mark239955_stm1
Associate II
Posted on April 03, 2016 at 06:51

Adding to Clive's comment, I've even seen one external crystal that didn't work with the DFU bootloader - presumably slow startup time.

gkovelman
Associate II
Posted on April 03, 2016 at 09:06

I'm talking about the STM32F401. I'm currently working on the STM32F401 Discovery - where USB CDC works well, with the HSE disabled. I haven't tested DFU, but it should also work.

Both AN3156 and AN2606 don't specify whether the HSE is a must for DFU at bootloader.

Best regards,

Posted on April 03, 2016 at 14:20

Both AN3156 and AN2606 don't specify whether the HSE is a must for DFU at bootloader.

 

Honestly AN2606 seems pretty damn explicit about the use of HSE.

Getting an error trying to add links or pictures to thread

https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Attachments/64926/usb_dfu_hse_401c.gif

Now while your own USB implementation might work in the lab, unless you test it over temperature, and process variations, and assorted hardware (PC), it is likely to be a support nightmare is deployed in large volume.

________________

Attachments :

usb_dfu_hse_401c.gif : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006I1Cg&d=%2Fa%2F0X0000000bko%2FAP7BbqWSJa128Ow2RIja6TYxgkxYVuN8nF3pIr8GGng&asPdf=false
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on April 03, 2016 at 14:31

https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Attachments/64926/usb_dfu_hse_401c.gif

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
gkovelman
Associate II
Posted on April 03, 2016 at 15:17

/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Attachments/64929/hsi_hse.PNG

fromAN3156 puzzled me. I see that USB shouldn't work without HSE.

Thank you.

________________

Attachments :

hsi_hse.PNG : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006I1Ht&d=%2Fa%2F0X0000000bkm%2F.XNGdGPWp47r2HwyFtf7f.JZEc.F7yAIpTol89usWS0&asPdf=false
Christopher Pappas
Senior II
Posted on March 19, 2017 at 00:03

I seem to be experiencing the same problem. I'm using a Nucleo-F746ZG board (with the debugger 'snapped-off', and an external Vin supplied to power the board. I am using a USB Debugger app, and also DfUsE as well on Windows 10.

The debugger portion of the board supplied the 8 Mhz clock to the F746 chip, obviously now the board is running fine in HSI mode (I can run my NucleoSynthDevice app and see the USB enumeration happening with a USB Debugger).

So, I can safely say that the USB-OTG is working as it should, but when I start up with Boot0 set at Vdd, the device just goes into a series of restarts (as though it can't communicate via USB) and the USB Debugger shows no new device or DFU device driver is loaded.

I tried some

https://www.youtube.com/watch?v=AeaglOYphfc

, and though it appears as if the DFU driver is installed properly, I still cannot see the device driver loading (I would expect at minimum to see a DFU or STM Bootloader device show up in the USB Debugger, but I still see nothing).

Does anyone have any thoughts or suggestions on if it is possible to use HSI with DFU?