Цитата(xelax @ Dec 19 2007, 13:19)

Не только к несуществующим, но ещё и к невыровненным. Например при двубайтном обращении, адрес к которому обращаешься должен быть кратен двум.
Цитата(GetSmart @ Dec 19 2007, 15:03)

В 7-ом АРМе можно без проблем читать невыровненные адреса. Делал так в LPC21xx.
Цитата(xelax @ Dec 19 2007, 17:09)

Я бы не стал так утверждать. Например SAM7 генерирует исключения.
К стати Вы ассемблерной код смотрели такого чтения. Может просто компилятор за Вас побайтовое чтение организовал

Помнится уже был топик по этому поводу.
ИМХО ядро ARM выдаёт
внешнему контроллеру памяти чего хочет (читать/писать, по какому адресу....), а уже этот контроллер памяти генерит в случае необходимости исключения, или не генерит если обладает более продвинутой логикой, умеет разбивать одно обращение на несколько (не только в случае невыровненности, но и, например, при чтении 32-х разрядного слова из 8-ми
байтовой битовой (вот это я очепятался) внешней памяти) и т.д.
У NXP этот контроллер один, у Atmel другой....
Ну и компиляторы в ряде случаев умеют разбивать обращения к памяти (если знают что это надо делать). Например обращение к невыровненной глобальной переменной прокатывает я надеюсь везде, только зачастую разбивается на байтовые обращения.