Цитата(Obam @ Mar 30 2018, 17:55)

В командах STM/LDM не выровненные на границу слова данные ещё как приводят.
и не только в них...
Только как и Вы сами выше не преминули заметить, замечу что речь велась об операции
*(uint16_t *)pData, кою компилятор ну никак не мог превратить ни в LDM/STM ни в LDRD/STRD ни во что другое кроме как LDRH, которая на M3 не подвержена HF
PS: А автору полезно было-бы завести типы для работы с невыровненными данными например:
Код
typedef __packed u16 u16p8;
typedef __packed s16 s16p8;
typedef __packed u32 u32p8;
typedef __packed s32 s32p8;
typedef __packed u64 u64p8;
typedef __packed s64 s64p8;
typedef __packed u32 u32p16;
typedef __packed s32 s32p16;
typedef __packed u64 u64p16;
typedef __packed s64 s64p16;
typedef __packed u64 u64p32;
typedef __packed s64 s64p32;