Цитата(Wano @ Jul 11 2010, 03:48)

А
*(uint32_t *)(string) = 0x20202020;
работает в любом случае? Всегда начало char массива 4-aligned (если умышленно не двигать указатель)?
Написано под Кортекс, ему по барабану выравнивание, разве что незначительно вырастет время выполнения инструкции.
Правда, это относится только к инструкциям, работающим с единичными словами - LDR, LDRH, STR, STRH.
Мультивордовые LDRD/STRD/LDM/STM и т.д. в случае невыравненного на границу 4 байт доступа всё равно приведут к исключению.