Цитата(0x435641 @ Jul 26 2012, 09:19)

если же запустить отладку в симуляторе, то при каждой записи по не кратному адресу вылетает сообщение
"STR instruction at addr: 0x40006835 made an illegal unaligned access to 0x40006835"
Значит симулятор неточно симулирует ядро Cortex-M3 (речь ведь о нём?).
Цитата(0x435641 @ Jul 26 2012, 09:19)

пусть даже должен быть выровнен. почему компилятор не преобразует команду записи по указателю в набор инструкций с побайтовой записью, учитывая специфику адресации?
Компилятор не пытается отслеживать кратность указателя. Если кратность нарушается, то это ответственность автора кода: в Cortex-M3 поддерживается доступ по неровному адресу. Для побайтового доступа есть packed, как уже говорили.