cancel
Showing results for 
Search instead for 
Did you mean: 

Program doesn't work anymore after ST-Link upgrade

thelankanguy
Associate II

 I had a program tested and running on a NUCLEO-F072RB for some time. Later I custom built my own PCB (using a STM32F072RBT6) and flashed the exact same code onto it using a STLINK-V3SET and the program did not work. I had no idea on why the program did not work. Later I decided to compare the memory data of my NUCLEO board and my custom PCB and identified that the address values look different one another. 

Later I did a firmware upgrade on my NUCLEO board and re programmed the board just to solve this program data mismatch. The device memory values now looked identical to that of the values on my custom PCB now. 

Since I tested and verified the functionality of my code on the NUCLEO board which apparently didn't have the latest firmware ran well and now after the upgrade it does not work as expected. This is strange and I would like to hear your expert opinions on this.

The attached images were obtained using the CubeProgrammer. The memory value mismatch can be clearly seen.

Thank You

2 REPLIES 2
Pavel A.
Evangelist III

Hi,

It is hard to explain the difference, unless you can state that you use exactly same binary (or hex) file on both boards, with exactly same tool: CubeProgrammer or J-Flash or or ST-LINK utility etc.. Not with CubeIDE, because it produces ELF file then converts it... We need a reliable tool that flashes in the reproducible way.  TL;DR CubeIDE can be made to flash binaries in a reproducible way too, but better use one of the above tools.

 

 

Generally this is why you make a binary, or hex, or production image, and put that on devices and test pieces, rather than programming via the IDE, which might build differently on different PC's or if the tools/libraries get updated all the time.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..