14-10-2024, 08:48 AM
Yes, sure, I am happy to help where I can.
You are referring to rewriting the stmicro/flash/h5.script, correct? I can try to rewrite the flash functions to give you a starting point, but I am a little bit confused about the interface between eblink and the scripts. Does eblink call the functions by using dedicated function-names for reading/writing/erasing etc or from where are they called?
What are you planning with ECC?
high cycle memory is always 6b ECC, non-high cycle memory 9b ECC.
ECC errors are raised on reads. As far as I understand, you cannot turn ECC on/off. Its only dependent if a flash page is configured as high-cyclic or not.
Do you want to add checks for ECC when reading data? I think this would make special functions for reading from flash required in the flash script.
About the test-projects: high cycle configuration is set in the option bytes.(EDATA1/2)
I could create projects which set this at runtime, but they are always persistent and have to be reset/overwritten. Also this can be easily set in CUBE programmer instead of switching between projects. Running Code is not really required, is it?
I would directly connect to eblink without a Project/IDE via GDB and try to manually read/write high cyclic adresses. This uses the same functionality with a lot less overhead.
Or did you imagine a project to directly flash data sections into high cycle memory through the linker&eblink?
You are referring to rewriting the stmicro/flash/h5.script, correct? I can try to rewrite the flash functions to give you a starting point, but I am a little bit confused about the interface between eblink and the scripts. Does eblink call the functions by using dedicated function-names for reading/writing/erasing etc or from where are they called?
What are you planning with ECC?
high cycle memory is always 6b ECC, non-high cycle memory 9b ECC.
ECC errors are raised on reads. As far as I understand, you cannot turn ECC on/off. Its only dependent if a flash page is configured as high-cyclic or not.
Do you want to add checks for ECC when reading data? I think this would make special functions for reading from flash required in the flash script.
About the test-projects: high cycle configuration is set in the option bytes.(EDATA1/2)
I could create projects which set this at runtime, but they are always persistent and have to be reset/overwritten. Also this can be easily set in CUBE programmer instead of switching between projects. Running Code is not really required, is it?
I would directly connect to eblink without a Project/IDE via GDB and try to manually read/write high cyclic adresses. This uses the same functionality with a lot less overhead.
Or did you imagine a project to directly flash data sections into high cycle memory through the linker&eblink?