cancel
Showing results for 
Search instead for 
Did you mean: 

STL flash test failing

heveskar
Senior

I do not know if this is appropriate place to ask but I will try. We are integrating the STM STL library and we cannot get the flash test to be successful.

This, this, this nor this helped. I believe we are generating the checksums correctly, we tried either post-build step as recommended in the user manual or running the script separately in the CMD. We can see that the CRCs are written in the memory the same way they are written in the .elf. StlFlashStatus is being set to STL_FAILED every time.

Our MCU is STM32H723ZG with 1 MB of flash. Therefore in the configuration, ROM start address is set to 0x08000000UL and ROM end address is set to 0x080FFFFFUL. We are trying flow similar to the default examples, either single test or multiple tests. ROM start address is set to 0x08000000U, even when trying to check 1 flash section, StlFlashStatus is set to STL_FAILED.

Unfortunately we do not have Nucleo H743ZI to test the example project, however we tried the 'G4 variant using Nucleo-G474RE and it worked, so I believe that software settings from our side are correct.

Any ideas what could be wrong?

I have one additional question/clarification, does SW CRC differ from HW CRC calculation-wise? In the utilities there is a CRC function that seems to be doing just a XOR of the input data, which is not the same as the CRC peripheral does, no?

 @Petr Sladecek @Amel NASRI 

EDIT: I forgot that we are using the X-CUBE-STL library

10 REPLIES 10

Hello Awiernie,

I have gone through above discussion. I am also experiencing some thing same, please see below.

 

My code is divided into two parts:

Part 1: bootloader

PavelSingh_0-1740198713236.png

Part 2: main application

PavelSingh_1-1740198721623.png

When I am debugging main application using Segger, everthing is working fine, flash test is getting passed.

But when I combine both hex files (bootloader hex + main app hex) and flash through Segger, flash test is getting failed but other logics are working.

Any additional guidance would be greatly appreciated.

 

Regards,
Pavel