Error L6244E Region Not Aligned on CM33 Secure World with Arm v6.19 Compiler


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.

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?