5.6. ВЫРАВНИВАНИЕ ПАМЯТИ В СТРУКТУРАХ

Объявленные в структуре переменные сохраняются в памяти контроллера последовательно друг за другом. Здесь стоит обратить внимание на выравнивание  данных в памяти. За это отвечает прагма (атрибут) pack_mode.
Эта прагма определяет способ упаковки структуры данных при распределении памяти. Атрибут вводится над структурой данных и влияет на всю структуру. Синтаксис: {attribute 'pack_mode' := ‘<Значение>’}
 
В зависимости от <Значение> (0 / 1 / 2 / 4 / 8) переменные в памяти будут выравниваться по 2 / 4 / 8 байтам. <Значение> 0 и 1 отменяют выравнивание. Значение 0 – выравнено, 1 – выравнивание по 1 байту.
На модулях CU второго типа (с архитектурой ARM) нельзя отключать выравнивание памяти, т.к. это может привести к необработанному исключению.