День добрый! Не могу понять в чем дело: есть связка AT91SAM7SE и внешняя SRAM 512кБ х 16 бит 100 МГц. Линкеру указано размещать код в младшую половину внешней SRAM, данные в старшую половину, стеки и коды прерываний - во внутреннюю SRAM, отмаппированную на нулевой адрес. Программа выполняется нормально, и чтение и запись в SRAM проходит... Пока не понадобилось прочесть из нее побайтно (ассемблерная команда LDRB). Тут и начались фокусы - читается абсолютная фигня, даже близко не похожая на оригинальные значения. Среда - IAR 5.11, память подключена к SMC и сконфигурирована как 16-битная: Wait States (NWS) = 0 Wait State Enable (WSEN) = 1 Data Float Time (TDF) = 0 Byte Access Type (BAT) = 1 Data Bus Width (DBW) = 1 ACSS = 0 RWSETUP = 0 RWHOLD = 0
Что я не так делаю?
|