Столкнулся тут с таким непонятным поведением, в еррдате не нашел
Итак:
#define MY_NEED_ADDR (*(volatile unsigned int *)(EMC_BASE_ADDR + (0x02UL<<2)))
ну и потом читаю в цикле это дело
в результате получается интересная вещь, которую "ARM PrimeCell™ MultiPort Memory Controller (PL176) Revision: r0p1 Technical Reference Manual" мне объяснить не смог:
Предпосылки: CS-ы активный уровень 0, шина 32 разряда
Имеем:
0. CS0 поднимается в 1. A2 тут же (~20нс) падает в 0
1. CS0 падает в ноль
2. На примерно 1/2 от времени активного CS0 A2 поднимается в 1 (при этом должна висеть в нуле как минимум до окончания CS0 - обращаемся по адресу хх1000)
3. Го ту п.0
В чем может быть трабл? Дороги точно не закороченные, целые, в монтаже ошибок нет
От смены CS проблема не меняется, OE ведет себя с CS корректно. Address Mirror отключен (в 0), Page Mode не используется (в 0)