Цитата(Jenya7 @ Apr 10 2018, 07:59)

а так?
Код
*((uint64_t *)write_key)) = *((uint64_t *)(rx_buffer+5)));
Прежде чем что-то советовать надо научиться читать и
понимать то, что пишут. Чтобы не писать ерунду.
Из контекста исходного сообщения автора видно, что
write_key - это не указатель, а переменная в которую нужно записать. Это во-первых. А во-вторых - читайте про невыровненный доступ в Cortex-M.
Цитата(IgorAVR2 @ Apr 10 2018, 12:57)

Так тоже не прокатило. Туда же в ошибку и улетает.
Для IAR (а может и других компиляторов):
Код
typedef unsigned long long u64;
typedef __packed u64 u64p8;
*(u64p8 *)&write_key = *(u64p8 *)&rx_buffer[5];
...и уже сам компилятор решит какие команды использовать.