cancel
Showing results for 
Search instead for 
Did you mean: 

STM32CubeProgrammer 2.13 bugs

Kraal
Senior III

Hello,

STM32CubeProgrammer 2.13 has some bugs:

  • See attached picture, the Target information does not report the correct flash size, although it is reading the memory size correctly at 0x1FFF75E0
    • Why does it have to read multiple times in a row the same information ?
  • When using an external loader, the "Deselect all" button does not work, clicking on it does nothing.
  • Also with the external loader for an I2C EEPROM, you can't fill memory (of any size) at an unaligned address, even though nothing in the EEPROM prevents it.

Best regards,

Kraal

1 ACCEPTED SOLUTION

Accepted Solutions

Hello @Kraal​,

Sorry didn't catch your first message,

STM32CubeProgrammer v2.14.0 is expected to be out by the end of June.

Aziz


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

View solution in original post

11 REPLIES 11
Kraal
Senior III

Follow-up on the subject, we can't even program an STM32G0B1CBU6 device. All the electrical connections are OK, the device is recognized (although the flash size is not correct, as said above).

But it is impossible to load the flash content, because it complains that 0x08000000 is not on a 255-bytes alignment. Obviously this behavior should not happen, and I've seen the same issue from somebody else on an L4 device (on this community forum https://community.st.com/s/question/0D50X00009vN7J0SAK/is-there-a-incompatibility-issue-between-the-stm32f72x-uart-system-bootloader-and-stm32cubeprogrammer).

I believe this lies down to the config 4 of the loader 0x467.stldr that is shipped with CubeProgrammer 2.13. However the same loader with config 1 is working fine with STM32G0B1RET.

FYI I don't know how the config is chosen by CubeProgrammer, I was hoping to force it to use config 1 to get it working, but it would be too complicated.

See CubeProgrammer log :

09:28:20:296 : UR connection mode is defined with the HWrst reset mode
09:28:20:492 : ST-LINK SN  : ************************
09:28:20:492 : ST-LINK FW  : V2J40S7
09:28:20:492 : Board       : --
09:28:20:493 : Voltage     : 3.23V
09:28:20:493 : SWD freq    : 4000 KHz
09:28:20:493 : Connect mode: Under Reset
09:28:20:493 : Reset mode  : Hardware reset
09:28:20:493 : Device ID   : 0x467
09:28:20:493 : Revision ID : Rev A
09:28:20:496 : Database: Config 4 is active.
09:28:20:497 : flash loader C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin/FlashLoader/0x467.stldr is loaded
09:28:20:497 : Debug in Low Power mode is not supported for this device.
09:28:20:590 : failed to read the requested memory content
09:28:20:944 : UPLOADING OPTION BYTES DATA ...
09:28:20:945 :   Bank          : 0x00
09:28:20:945 :   Address       : 0x40022020
09:28:20:945 :   Size          : 64 Bytes
09:28:20:946 :   Bank          : 0x01
09:28:20:946 :   Address       : 0x40022080
09:28:20:946 :   Size          : 16 Bytes
09:28:20:947 : UPLOADING OPTION BYTES DATA ...
09:28:20:948 :   Bank          : 0x00
09:28:20:948 :   Address       : 0x40022020
09:28:20:948 :   Size          : 64 Bytes
09:28:20:949 :   Bank          : 0x01
09:28:20:949 :   Address       : 0x40022080
09:28:20:950 :   Size          : 16 Bytes
09:28:20:997 : UPLOADING ...
09:28:20:997 :   Size          : 1024 Bytes
09:28:20:997 :   Address       : 0x8000000
09:28:20:997 : Read progress:
09:28:20:998 : halt ap 0 
09:28:21:014 : Init flashloader...
09:28:21:014 : halt ap 0 
09:28:21:016 : run ap 0 
09:28:21:016 : halt ap 0 
09:28:21:017 : Data read successfully
09:28:21:017 : Time elapsed during the read operation is: 00:00:00.040
09:28:36:536 : Memory Programming ...
09:28:36:537 : Opening and parsing file: P470.hex
09:28:36:540 :   File          : P470.hex
09:28:36:541 :   Size          : 18.26 KB 
09:28:36:541 :   Address       : 0x08000000 
09:28:36:541 : Erasing memory corresponding to segment 0:
09:28:36:542 : Memory erase...
09:28:36:555 : halt ap 0 
09:28:36:571 : Erasing external memory sectors [0 8]
09:28:36:571 : Init flashloader...
09:28:36:571 : halt ap 0 
09:28:36:585 : run ap 0 
09:28:36:585 : halt ap 0 
09:28:36:585 : Loader sector erase...
09:28:36:590 : run ap 0 
09:28:36:785 : halt ap 0 
09:28:36:785 : Erasing memory corresponding to segment 1:
09:28:36:786 : Memory erase...
09:28:36:786 : File segment @0x08000000 is not 255-bytes aligned. It will be aligned to @0x07FFFFF8
09:28:36:786 : Download in Progress:
09:28:36:788 :   Size          : 18105 Bytes
09:28:36:788 :   Address       : 0x07FFFFF8 
09:28:36:789 : Error: failed to download Segment[0]
09:28:36:790 : Error: failed to download the File

As a side note, the attached picture shows the "flash" seen by CubeProgrammer GUI: one block of 128k, seen as EEPROM1, in the RAM area...

Please ST, fix this loader ASAP. I know that the tools are free, but still it should be an easy fix.

Best regards,

Kraal0693W00000aJqQ8QAK.png 

Piranha
Chief II
File segment @0x08000000 is not 255-bytes aligned. It will be aligned to @0x07FFFFF8

This just perfectly shows how broken the code of that software is. And, as that link shows, it has been known and ignored for more than 4 years...

Hello @Kraal​,

Thanks for taking the time to investigate and sorry for the late reply,

The issues you reported are confirmed on my side and reported to STM32CubeProgrammer development team :

  1. Periodic reading of data in verbose 3 => Internal ticket number 145562
  2. Deselect all button in External Loaders tab => Internal ticket number 149212
  3. Wrong flash size and number of sectors causing flashing issues => Internal ticket number 149330

PS : These are internal tracking numbers and are not accessible or usable by customers

Regarding your external I2C EEPROM loader, could you please PM me your project to be able to further investigate ? Could you also try using CubeProgrammer 2.10.0 and see if it shows the same behavior ?

Thanks,

Aziz


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Hello @Aziz BRIGUI​ ,

Thank you for the feedback. I hope it will be fixed quickly.

I will try to find some time to use CubeProg 2.10 and see if the behavior is the same.

Best regards,

Kraal

v2.10 works fine.

Hi again @Aziz BRIGUI​ ,

Can we get a situation report on the 3 internal ticket numbers (145562, 149212 and 149330) please ?

CubeProg is now saying that an update is available, but nothing to DL, and the new CubeIDE 1.12.1 has not fixed any of those issues in the release note.

Best regards,

Kraal

Hello,

I am not working on CubeProg, but I experience the issues you describe.

It's look like my flash was corrupt and CubeProg regonize it as an EEPROM at @0x20000000. To solve the issues I try to access the board with the DFU (More infos here) and I could erase the memory (Full Erase). After that I could flash any program without issues.

Hope this could help,

Best Regards,

Axel L.

Hello Axel,

I am not sure I understood your suggestion.

The issues mentionned are related to CubeProg, starting from 2.13. If you revert to 2.10 the issues disappear.

So it is not an issue with the Flash.

Moreover, how can the Flash (corrupted or not) have an influence on the detected Flash size, which is a read only register in a non Flash area ?

And I surely hope that the start Flash address is always know.

My question is still not answered, what is the status of these tickets ? When can we expect a new (working) release of CubeProg ?

Best regards,

Kraal

Hello @Kraal​,

Sorry didn't catch your first message,

STM32CubeProgrammer v2.14.0 is expected to be out by the end of June.

Aziz


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.