cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F070 bootloader (on Nucleo board) won't start

brunoferren9
Associate II
Posted on August 12, 2016 at 12:24

Hello everyone,

I am trying to use the bootloader in the system memory of the STM32F070RB on a Nucleo board, but I don't seem to manage to launch it.

After trying several things, here is the state of my board : I removed the MCO and added a 8 MHz crystal. SB12 to 15 are removed, so the debugger should be fully disconnected.

I have a user code in the Flash, that I loaded through the ST-Link interface. This program makes the user LED (LD2) blink in a recognizable pattern. I checked that the 8 MHz crystal oscillates (which it does).

So, to start the bootloader, I checked that the nBOOT1 bit is set to 1. I pull the BOOT0 pin up, and I reset the MCU. I expect to then launch the bootloader, but apparently not : my user code is executing. And a wierd thing happen : the pattern on the LED is ok, but the timing is not (it's slower). It turns out that the crystal does not oscillate, which may explain this (but in this case HSE = HSI = 8 MHz, so I'm not sure about the explanation...).

I've been trying a number of things now, but did not get anywhere. Does this make any sense to you ?
5 REPLIES 5
Posted on August 12, 2016 at 20:10

Does this make any sense to you ?

Not really. With BOOT0 High none of your code should be running, ever.

How are you trying to connect to the System Loader? USART?

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
brunoferren9
Associate II
Posted on August 16, 2016 at 09:38

That's what I though too...

 

 

I'm trying to use the USART bootloader, yes.

brunoferren9
Associate II
Posted on October 06, 2016 at 15:48

Hi,

I moved forward in my development since my last message, but now is time to solve this issue.

Since then I tried a few other things, like using the USART2 bootloader, but it doesn''t work either.

We currently have products in production with STM32F103 and STM32F030, I never had a problem with their USART bootloader. I've tried everything I could think of.

It seems I have the same problem as this person, which does not seem to be solved :

[DEAD LINK /public/STe2ecommunities/mcu/Lists/STM32Discovery/Flat.aspx?RootFolder=/public/STe2ecommunities/mcu/Lists/STM32Discovery/Start%20USART%20Bootloader%20on%20STM32F070%20device%20does%20not%20work&FolderCTID=0x01200200770978C69A1141439FE559EB459D75800084C20D8867EAD444A5987D47BE638E0F&currentviews=127]https://my.st.com/public/STe2ecommunities/mcu/Lists/STM32Discovery/Flat.aspx?RootFolder=%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2FSTM32Discovery%2FStart%20USART%20Bootloader%20on%20STM32F070%20device%20does%20not%20work&FolderCTID=0x01200200770978C69A1141439FE559EB459D75800084C20D8867EAD444A5987D47BE638E0F&currentviews=127

I also found this, a problem with the USB bootloader on the same chip :

https://my.st.com/public/STe2ecommunities/mcu/Lists/STM32Discovery/DispForm.aspx?ID=16467&Source=/public/STe2ecommunities/mcu/Tags.aspx?tags=bootloader

Basically, I've come to the point where I wonder if the bootloader in the F070 work at all... And I'm beginning to think I may be unable to program these chips in production, so I might as well stop the development. Which is never a good solution...

Do you know if there could be a problem with this chip ? (I couldn't find anything related to this in the last errata sheet)

Or maybe something on the Nucleo board that prevents the bootloader from starting ? (worth noting though, I broke the ST-Link portion on one of them, and it still does not work)

Where could I ask an ST person for this ?

Posted on October 06, 2016 at 18:03

Where could I ask an ST person for this ?

The usual mechanics of the semi industry is to work up the purchasing chain, so the FAEs at your distributor supporting its customers, and the local ST sales offices and their FAE staff.

http://www.st.com/content/st_com/en/contact-us.html

http://www.st.com/content/st_com/en/support/online-support.html

If you are already using STM32 parts in your products you presumably already have some relationship with someone who is taking a cut of the margins. Those are the people tasked with providing front-line support to you. Shake that tree first as it is their paycheck disappearing if you give up.

You need to impart the detail of what you are doing, not just that it doesn't work. If you suspect particular parts or software you need to identify the production and batch codes, the Unique ID can infer wafer and die information, and software typically gives a specific version. Review the protocol documentation, and how the device behaves at that level.

I ask questions so I can solve problems, if people don't answer the questions with the level of detail required I tend to move on to questions I can solve. I can only work with detail provided in the posts, what you see and think need to be expressed.

How exactly have you got the part wired up, and to what?

What baud and serial settings are you using? What have you tried?

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
brunoferren9
Associate II
Posted on October 07, 2016 at 12:16

Thanks for the details. Of course I tried communicating with my looal distributor, but it seems he doesn't care. The fact that we are producing our products through several sub-manufacturers means that I am not, technically, a direct client of him. Plus, let's be honest : I never had correct technical help from a distributor, so harrasing him to get a non-useful answer seemed moot to me. For all these reasons, contacting ST directly seemed like a good idea.

My tests and the results I quickly found through the web lead me to think the bootloader of the F070 works differently, in a way that I don't know, to the one in the F103 or F030. Just because using these last ones was straigthforward, and using the one in the F070 got me and others stuck for quite some days of work now. That was the meaning of my question : is there an obvious difference there, is there an obvious mistake everyone makes ? Put simply, I guess I was simply asking : does this ring a bell ? The absence of answer forces me to consider that no, it doesn't, but unfortunately, that leaves me even more stuck.

Fortunately though, I since found out that I could also program the chip through SWD in a simpler way than going through my usual IDE, using the ''ST Link Utility''. This looks like it can be used in production, so I'll go for this. As a result, I'm leaving this bootloader problem behind me.

Thanks for taking the time to answer me 🙂