Hello everyone!
I am using Keil uVision 5.28 with Compiler V6.12.
How to declare a constant structure in flash memory so that it is not initialized by programmer / debugger and functions from scatterloader?
I'm looking at document https://static.docs.arm.com/100748/0609/compiler_user_guide_100748_0609_00_en.pdf.
There is an example on page 120 for peripheral registers, but it does not quite suit me, since there can be many such structures, and I do not want to make many files for each structure.
Now I have limited the size of the flash memory in the scatter file and refer to the structure at an absolute address.Maybe there is some other, more correct solution?
It's fine -- ZI is really a synonym for .bss. See also section B3.34 in the Arm Compiler Reference Guide v6.14.