cancel
Showing results for 
Search instead for 
Did you mean: 

STM32L053R8 NUCLEO Bootloader firmware update issue

tingting
Associate II
Posted on January 13, 2016 at 09:30

Hi ,

I am encountering an issue with the firmware update using the bootloader.

I updated my firmware using STMFlashloader Demo.exe. The new firmware is correct. My board is working.

But when I use STMFlashLoader.exe using this command:

STMFlashLoader -c --pn 4 --br 115200 -i STM32L0_x3_x2_x1_64K  -d --fn path\firmware.hex

My board does not work any more.

The downloaded firmware is different than the one I have loaded.

The firmware seems like corrupted.

Did i do something wrong with the command?

Is there anyone who have encountered the similar issue?

Thank you
7 REPLIES 7
Posted on January 13, 2016 at 12:52

Corrupt how? Do a byte-to-byte comparison, and be more specific about the nature of the corruption.

I don't think tunnelling through the ST-LINK VCP is an ideal why to do this, the loader needs even parity, and no glitching of the USART when it tries to auto-baud the data stream. You could try lower baud rates, or a more direct connection of the USART

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

Hi, clive1

Yes, I compared byte to byte using STM32  ST-Link Utility.

To download the new firmware, I used PA9/PA10 of the USART1. I tried 9600, I have the same result.

Posted on January 13, 2016 at 17:20

Yes, I compared byte to byte using STM32 ST-Link Utility.

Ok, but what did you observe at the byte level, between what was written, and what you read back. I get the point that the comparison failed, I'm trying to dig a little deeper to understand HOW it failed.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
tingting
Associate II
Posted on January 14, 2016 at 11:50

Here is  the capture of the byte comparison(Sorry for the resolution, i cannot upload a picture bigger than 100 KB). The first difference is found at the address 0x0800 0004. Instead of 0x29 , I have 0x89.

0690X00000602XgQAI.jpg

Posted on January 14, 2016 at 19:27

Do you need to Erase the part before writing new data to it? Try using -e

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
tingting
Associate II
Posted on January 15, 2016 at 10:59

I do not know if I need to erase all before writing new data. But I tried -e --all, the result is always

Erasing   [NOK]

Indeed in the ''version.txt'' file , it is told that the V2.8.0 of the STM Flashloader has its limitations . One of these limitation is ''STM32L ''Erase all '' feature is not supported.

tingting
Associate II
Posted on January 27, 2016 at 14:36

I tried -e number_of_pages pageN°. It is better. When the memory is erased, the data written is corrected. But I need to erase more than 180 pages, so the command will a litte long, because i need to indicate each pageN°. Is there a solution for it?

Thank you