Цитата(Сергей Борщ @ Oct 22 2015, 14:18)

Да, про это я не подумал, но вопрос был о другом. Пусть будет так:
volatile uint32_t Var_for_bit1 __attribute__((at(0x20000000)));
volatile uint32_t Var_for_bit2 __attribute__((at(0x20000004)));
volatile uint32_t Var_for_bit3 __attribute__((at(0x20000000)));
volatile uint32_t Var_for_bit1 __attribute__((at(0x20001000)));
volatile uint32_t Var_for_bit2 __attribute__((at(0x20001004)));
volatile uint32_t Var_for_bit3 __attribute__((at(0x20001000)));
В Keil комплилятор ругается, что переменная Var_for_bit3 должна начинаться с 0x20001008 адреса. Что не удивительно - это прямая обязанность нормального компилятора (может быть только по-другому ругаться будет в другой среде разработки).