Issue with Partition Alignment for ARM in 4.10

Kirspel, Kevin kevin.kirspel at
Tue Apr 12 02:39:59 UTC 2011

The CPU_PARTITION_ALIGNMENT for ARM has been changed from 4 to 8 bytes in the latest 4.10 release.  When creating a partition , the buffer size must be a multiple of this value.  The GCC compiler does not generate structures sizes that are multiples of 8.

The following call fails with RTEMS_INVALID_SIZE due to the multiple of 8 requirement.  In the example, sizeof(state_event_t) is 12 bytes:
rtems_partition_create(name, starting_addr, sizeof( state_event_t ) * 4096, sizeof( state_event_t ), RTEMS_LOCAL, &id );

The CPU_STACK_ALIGNMENT for ARM should be set to 8 but I am not sure about the others: CPU_ALIGNMENT, CPU_HEAP_ALIGNMENT, and CPU_PARTITION_ALIGNMENT.  The call above should be allowed.

Kevin Kirspel
Senior Electrical Engineer
Opti Medical
235 Hembree Park Drive
Roswell GA 30076
Tel: (770)-510-4444 ext. 81642
Direct: (770)-688-1642
Fax: (770)-510-4445

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the users mailing list