2024-03-26 06:15 AM - last edited on 2024-03-26 07:02 AM by Amel NASRI
Dear Community Members,
While working on my current STM32F103 project and attempting to integrate the X-CUBE-CLASS-B Library, I've come across a potential issue in the file `stm32fxx_STLstartup.c`. Specifically, it concerns line 351:
351 if (STL_FullRamMarchC(RAM_START, RAM_END, BCKGRND) != SUCCESS)
It appears that `STL_FullRamMarchC` returns "1" upon successful testing, while returning "0" upon failure.
91 STL_FullRamMarchC ; find in stm32fxx_STLRamMcMxKEIL.s
92 MOVS R4, #0x1 ; Test success status by default
However, `SUCCESS` is defined as 0, causing the error branch to be executed even when the test is successful.
I'm wondering if this issue is already known and if STMicroelectronics plans to provide an updated version addressing this bug. I want to ensure that my project work is not compromised by potential errors in the library.
Any advice or information you have on this matter would be greatly appreciated.
Best regards,
Wolfram
2024-06-14 09:34 AM
Hi @WWagner ,
Sorry to come back late to your case. It is possible that you have already resolved your issue and it will be interesting to share with us your solution in such case .
We believe that it may help others to provide an answer here, that is why I tracked your request in an internal ticket (#182638).
I share with you the answer I got from our expert:
Such problem occurs because of the combination of the obsolete STL FW with the latest HAL driver. If you refer to the paragraph "Incompatibility with previous versions of the STL" in AN4435, you will find the workaround. Please apply it at the code explained there. Then, to prevent any problems with preserved registers, you can extend the function call by back-up pointer as described there, too.
-Amel
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.