cancel
Showing results for 
Search instead for 
Did you mean: 

bootloader in STM32f107

alex8
Associate II
Posted on December 01, 2009 at 20:02

bootloader in STM32f107

6 REPLIES 6
alex8
Associate II
Posted on May 17, 2011 at 13:32

Hi,

I'm trying to get a UART bootloader working with a STM3210C-EVAL board, per the AN2606. It doesn't even seem to be trying to talk, and I'm wondering if I've got early silicon w/o a bootloader?

Device ID read from JTAG is 0x10016418

Printed on the chip is:

STM32F107

VCT6 Z

99056 VC

MYS 99 923

Thanks,

Alex

kaouther
Associate II
Posted on May 17, 2011 at 13:32

Hi Alex,

For connectivity line deivces, you have to check the AN2662 ''STM32F105xx and STM32F107xx system memory boot mode '' instead of AN2606 for the Hardware requirements to run the bootloader.

I advice you also to check the STM32F105/107xx errata sheet rev2.

😉

alex8
Associate II
Posted on May 17, 2011 at 13:32

Thanks Coucou!!

It's talking now with 4 pins pulled high per the errata. Programs fine!

Cheers,

Alex

fherschell
Associate
Posted on May 17, 2011 at 13:32

I had the same problem as alex4 (above) and would like to add my feedback so others will not have to struggle with this problem (as I also did).

I followed the application note (AN2662 - Doc ID 14156 Rev 2) as well as the errata sheet (STM32F105xx and STM32F107xx Errata sheet - Doc ID 15866 Rev 2) to a ''T'' and could not get the bootloader to recognize the MCU to download firmware into the chip using USART1. The latest ''Flash Loader Demonstrator'' tool (version 2.1.0) would give the error message ''Unrecognized device'' when trying to connect to the MCU. Using my scope I could see that the tool was indeed sending the ''0x7F'' code to the MCU on the PA10 line (USART1_RX) and I could see that the PA9 line (USART1_TX) would send back the ''0x79'' acknowledge byte, but not at the same baud rate, so obviously the tool could not recognize the device.

I'm using the STM32F105VBT6 device (date code 926) on my new PCB design with all the pins terminated as per the device data sheet and application notes. I pulled up PD6 and PB5 each with a 10K resistor to +3.3 VDD (as per AN2662 for USART1). The clue to fix this problem came from alex4's response where he pulled up ALL 4 lines (not 2) to get the bootloader to work. I then pulled up PA11 just to see if it would make any difference and it did - it started to work after that (PA12 was still pulled down). So it appears that even the errata sheet is incorrect. The line pertaining to USART1 on Page 20 of the errata sheet should be changed from:

''If USART1 is used to connect to the boot loader: PD6 and PB5 have to be kept at a high level''

to:

''If USART1 is used to connect to the boot loader: PD6, PB5 and PA11 have to be kept at a high level''

I'm not sure if any other combination of pulled up pins would work, but this combination worked for me.

ramadevi
Associate II
Posted on May 17, 2011 at 13:32

Hi Alex,

I am trying to bring up STM3210C-EVAL board. As a part of this, I tried running FlashDemo and DFuSe demonstrator in my board and the results say successful only in system memory boot mode. After this, when I change to user flash mode with a null modem cable connected between CN6 and PC com port, nothing is visible on the console.

You have succedded in this.How did you pull-up the pins for USART in revC board?As I am very new to this kind of activity, please let me know how and what connections are to be made in board?

lurie
Associate II
Posted on May 17, 2011 at 13:32

Hi

I have the same question. How did you pull-up the PINS?