Цитата(kovigor @ Jan 15 2013, 19:43)

Было такое, на LPC и с Кейлом. Почти наверняка дело не в скорости доступа к ОЗУ, а в оптимизации.
так в оптимизации и дело

Нет, у меня никак программно функции задержки не делаются. Там, похоже, дело в том, что девайсу нужно "отдохнуть" около 70нс после доступа. Если код не оптимизировать, то оно как раз и получалось. Как только перекинул функции в RAMFUNC (они будут обслуживать бутлоадер), так и начались пляски
Вот теперь сижу и NOP вставляю, но все равно как-то мутно

Возможно, дело связано с компилятором, он неверно воспринимает описание доступа к памяти (как вариант)
У меня сидит внешняя 32-разрядная SRAM на CS4, на CS0 сидит девайс
Я передаю указатель как (void*), а в функциях чтения/записи в девайс присваиваю его указателю на (volatile unsigned int*)
Интересно, но часть команд, котрые обращаются к внутренней SRAM, отрабатываются. Как только лезу к внешней - начинаются проблемы с девайсом уже, он не передает то, что в него пишется. Сейчас проверю осциллом, что там происходит, но часть команд отрабатывается, часть - нет, особенно, когда уже начинаю гнать блоки по 50-100 КБ
Однако, если просто гонять туда-сюда данные от девайса и к нему, все в порядке с любой оптимизацией