Цитата(cipher @ Sep 25 2007, 15:59)

Не получается добиться работы USBA с DMA. Плата NGW100. Переписал драйвер от линукса. Без DMA всё работает с DMA получается только LOOPBACK, т.е. что принял, то и отправил (при этом внутри МК данных не видно).
Проблема в том, что при приёме с DMA данные куда-то записываются, но куда - я не знаю. При этом в dmaaddress записан например такой адрес 0x10306d40, но по этому адресу никаких изменений не происходит. Если при передаче указать этот же адрес, то данные уйдут корректно.
В MMUCR - 0x00000010 - транслируются только сегменты. Вроде в остальном MMU выключен.
Есть какая-то трансляция памяти или кэширование, но я не знаю по какой причине.
Помогите советом.
Заранее большое спасибо.
Скорее всего проблема с кешированием, DMA вероятно нужно запускать на некешируемой
области, к сожалению на AVR32 до этого момента еще не дошел, но то что Вы описываете,
когда в одну сторону не работает а в другую работает, ИМХО это кеш.
А если вместо 0x10306d40 указать 0x90306d40 ???