2023-03-21 11:15 PM
I have an external loader that needs to describe
32 x 4K Erase Blocks
1 x 128KB Erase Block @ 0x90020000
511 x 256KB Erase Blocks @ 0x90040000
The decoding of the base address resets to 0x90000000 for some inexplicable reason
@Nawres GHARBI @Sara BEN HADJ YAHYA
Solved! Go to Solution.
2023-07-11 12:52 AM
Hello @Tesla DeLorean ,
This issue is fixed in STM32CubeProgrammer latest release.
V2.14.0 is now available under this Link.
Thanks for your contribution :)
Sara
2023-03-21 11:29 PM
S25HL01GTDPMHI010
https://www.digikey.com/en/products/detail/infineon-technologies/S25HL01GTDPMHI010/15903889
2023-03-22 02:42 AM
Hello @Community member ,
Thanks for your feedback,
Could you please send me the external loader's source code for further check?
Thanks in advance,
Sara.
2023-03-22 03:15 AM
I'm not sure that's necessary to debug a static decode failure on the application side.
The index and address should keep advancing, the order and sequence of the sizing looks correct. So it's reading the table of counts / sizes.
Other aspects of the loader are working properly. And if passed a memory range the Erase function in the loader decomposes it appropriately.
2023-03-22 06:36 AM
Ok, when check boxing the 128KB sector, the one that lives at 0x90020000, the tools pass the loader an EraseSector(0x90000000), so the address computation code is some how broken.
2023-03-30 05:50 AM
Hello @Community member ,
Sorry for the late reply,
Could you please send me the dev_inf.c file ?
Thanks in advance,
Sara.
2023-03-30 06:46 AM
It's an enumerated list of counts and sizes, should be apparent from table in binary
See also trailing comment here
STM32CubeProgrammer_v2.10\bin\ExternalLoader\IS61WV51216BLL_STM3210E-EVAL\Sources\Loader_Files\Dev_Inf.c
Related defines for attached file
#ifdef USE_S25HL01GT // 128MB
#define PART_NAME "S25HL01GT"
#define QSPI_FLASH_SIZE (128 * 1024 * 1024)
#define QSPI_FLASH_SHIFT 27
#define END_BLOCK 0x07FC0000 // 128MB-256KB-1
#define USE_SPANSION
#define USE_ADR32
//#define ERASE_BLOCK_SIZE (256 * 1024)
#define ERASE_BLOCK_SIZE (4 * 1024)
#define COMPLEX1_BLOCK_SIZE (4 * 1024)
#define COMPLEX1_BLOCK_COUNT 32
#define COMPLEX2_BLOCK_SIZE (128 * 1024)
#define COMPLEX2_BLOCK_COUNT 1
#define COMPLEX3_BLOCK_SIZE (256 * 1024)
#define COMPLEX3_BLOCK_COUNT 511
#endif
2023-04-18 03:14 AM
Hello @Community member ,
First I apologize for the late reply,
The issue is confirmed and it is raised to the development team to fix it. I will keep you posted with updates.
Internal ticket number: 150017 (This is an internal tracking number and is not accessible or usable by customers).
Thank you for your contribution,
Sara
2023-07-11 12:52 AM
Hello @Tesla DeLorean ,
This issue is fixed in STM32CubeProgrammer latest release.
V2.14.0 is now available under this Link.
Thanks for your contribution :)
Sara