We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello,
We are working on a CM33 device and developing a code for the Secure World.
We are using Arm v6.19 Compiler, and our scatter file is like this
LR_IROM1 0x0C010100 0xFF00 { ; load region size_region
...
}
We need to leave 0x100 bytes before the image to add a metadata as post-build step.
We need to align a variable with 512
uint8_t globalBuffer[512] __attribute(align(512));But when we align any symbol, we are getting the following error.\Objects\OSTests_S1.axf: Error: L6244E: Load region LR_IROM1 address (0x0c010100) not aligned on a 512 byte boundary.
uint8_t globalBuffer[512] __attribute(align(512));
.\Objects\OSTests_S1.axf: Error: L6244E: Load region LR_IROM1 address (0x0c010100) not aligned on a 512 byte boundary.
If we align with 256, there is no problem as LR_IROM1 offset aligned with 256.
The same code is used by different architectures, so we need to keep the alignment as is.
But it does not make sense, why a variable alignment affects the image alignment.
And there is no documentation (seems empty) about this error
Any idea?
Thanks