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
Hi Murak,
I've built a test case, and I can replicate the issue. I will discuss with colleagues internally.
Ronan