2025-01-29 04:00 AM
We have tested the STL package in 2 scenarios for Flash test on STM32L452:
CASE 1:
Linker settings:
FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 512K
Pre-Post build settings:
0x08000000 0x08080000 0x400
STL user template settings:
/* FLASH configuration */
#define STL_ROM_START_ADDR (0x08000000UL) /* customizable */
#define STL_ROM_END_ADDR (0x0807FFFFUL)
Flash test passed.
CASE 2: (our usage scenario)
Linker settings:
FLASH (rx) : ORIGIN = 0x800E000, LENGTH = 456K
Pre-Post build settings:
0x0800E000 0x08080000 0x400
STL user template settings:
/* FLASH configuration */
#define STL_ROM_START_ADDR (0x0800E000UL) /* customizable */
#define STL_ROM_END_ADDR (0x0807FFFFUL)
Unable to start test please see below snippet.
Code is divided into 2 regions, bootloader application and production application.
56KB is ket aside for bootloader, reason for FLASH ORIGIN = 0x800E000.
Thers is one more problem I want to discuss, please see below snippet:
Bin file snippet of STL project for Nucleo – L476:
Bin file size is 393MB, this is huge, we can’t bootload this file using Bootloader App. It should be in KBs.
I would appreciate if you can suggest us how we could resolve both the above problems.
Please let me know if you need more information.
2025-01-29 10:06 AM
Hello @PavelSingh ,
Maybe you have the same issue as described in this post: Solved: STL flash test failing - STMicroelectronics Community
2025-01-29 11:49 AM
The commas also look very oddly placed. Show a DIR from a DOS Box or File Manager
Large .BIN files typically occur due to large discontinuous sections in a .ELF file, or .HEX
BIN files can't have VOIDS in them, and must describe all space between the beginning and ending addresses.
Inspect the .ELF with tools like OBJCOPY, OBJDUMP, FROMELF, etc, you're likely outputting data into RAM spaces or EXTERNAL MEMORY, which wouldn't be appropriate to be in the .BIN
2025-01-29 10:53 PM
Hello Tesla,
Please see below snippet for debug DIR
2025-01-29 11:07 PM
Hello Imen,
I had seen that post earlier. There FLASH ORIGIN is 0x8000000 but in our case FLASH ORIGIN is 0x800E000, as initial 56KB is kept aside for bootloader.
And we are getting below warning after build
Kind regards,
Pavel