Skip to main content
DmtryVovk
Associate II
July 17, 2016
Question

USB bootloaser does not work

  • July 17, 2016
  • 22 replies
  • 4504 views
Posted on July 17, 2016 at 12:48

So, hello everyone. I have a problem with starting bootloader using USB cable.

I think i did all conditions to provide this mode. 

NUCLEO F070RB. Win10, Win7

HSE(crystall) 12 MHz works fine in Led-blink project. BOOT0=1, nBOOT1=1(Checked).

Windows have no any reaction after connecting USB (D+, D-, GND)!

If i add pull-up resistor on D+ or D-, windows can see ''Unknown device'' with wrong descriptor. 

Please halp me!

#dfu #usb #bootloader
This topic has been closed for replies.

22 replies

Tesla DeLorean
Guru
July 17, 2016
Posted on July 17, 2016 at 18:46

http://www.st.com/content/ccc/resource/technical/document/datasheet/31/4f/10/5f/a5/32/46/42/DM00141386.pdf/files/DM00141386.pdf/jcr:content/translations/en.DM00141386.pdf

Is it supported?

3.3 Boot modes

At startup, the boot pin and boot selector option bit are used to select one of the three boot

options:

• Boot from User Flash

• Boot from System Memory

• Boot from embedded SRAM

The boot loader is located in System Memory. It is used to reprogram the Flash memory by using USART on pins PA14/PA15 or PA9/PA10.

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
DmtryVovk
DmtryVovkAuthor
Associate II
July 17, 2016
Posted on July 17, 2016 at 19:36

Yes, it is supported. But i need USB , not USART. 

Tesla DeLorean
Guru
July 17, 2016
Posted on July 17, 2016 at 20:23

The documentation I cited says it doesn't, please provide a counter-cite indicating that this specific part# supports. Nucleo normally takes 8 MHz from ST-LINK

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
DmtryVovk
DmtryVovkAuthor
Associate II
July 17, 2016
Posted on July 17, 2016 at 22:13

/content/ccc/resource/technical/document/application_note/b9/9b/16/3a/12/1e/40/0c/CD001675pdf/files/CD001675pdf/jcr:content/translations/en.CD001675pdf

PAGE

DmtryVovk
DmtryVovkAuthor
Associate II
July 17, 2016
Posted on July 17, 2016 at 22:51

I have done USB-Virtual COM application. It works fine.

Please, help me to start DFU !

0690X0000060MoLQAU.gif, i disconnected ST-Link from main part NUCLEO, not physically, through deletionnull-resistors.

I not use MCO impulses, HSE 12 MHz only.

slimen
Visitor II
July 18, 2016
Posted on July 18, 2016 at 11:19

Hi,

Maybe you can try with

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

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

You can find this manual UM0391 - DfuSe File Format Specification: 

http://rc.fdr.hu/UM0391.pdf

Regards

DmtryVovk
DmtryVovkAuthor
Associate II
July 18, 2016
Posted on July 18, 2016 at 11:59

0690X0000060MoMQAU.gif, thanks , but i cant begin to write my aplication or use DfuSeDemo.

DmtryVovk
DmtryVovkAuthor
Associate II
July 18, 2016
Posted on July 18, 2016 at 14:35

Please, if someone has the NUCLEO , try to use usb bootloader!

Tesla DeLorean
Guru
July 18, 2016
Posted on July 18, 2016 at 22:20

How quickly does the 12MHz source start?

Could you have tried USB connectivity with the 8MHz originally provided?

Are you sure of the USB connection wiring/integrity?

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
DmtryVovk
DmtryVovkAuthor
Associate II
July 18, 2016
Posted on July 18, 2016 at 22:47

1.
/* Wait till HSE is ready and if timeout is reached exit */
<br> 
do
<br> {<br> HSEStatus = RCC_GetFlagStatus(RCC_FLAG_HSERDY);<br> StartUpCounter++; <br> } <br>
while
((StartUpCounter != HSE_STARTUP_TIMEOUT) && (HSEStatus == RESET));

(Sorry for wrong code formatting ) In this standard func StartUpCounter counts untill HSE starting. Debugger shows that it counts up to 7, no more, looks like very fast. Of course i am sure in my cable integrity. I did small USB application (USB-Virtual COM) it works fine. Oscilloscope shows no action on pins D+ D- while connecting to PC. I've tried different HSE, 12MHz, 12MHz, 8MHz, all works normaly in my program.