Цитата(megajohn @ Mar 15 2013, 23:37)

вообщем, переделываю исходники чана для LPC23 на свой LPC1778 + делаю под TNkernel и на DMA.
А зачем их (исходники Чана) переделывать??? Их же как раз трогать не надо, надо только прописать низкоуровневую прослойку абстрагирования от аппаратуры (HAL-драйвер - hardware abstraction level).
Про работу через MCI сказать ничего не могу - не пользовал. Но я сам недавно прописывал HAL для связки FatFS+SPI+LPC1788+uCOS.
Мой HAL-драйвер помимо работы через DMA, поддерживает одновременную работу через функции FatFS и низкоуровенвое обращение на чтение/запись к массиву данных SD-карты
(можно работать одновременно двум задачам прикладного уровня не мешая друг другу).
Никаких проблем не обнаружил - всё работает чётко. Чтение SD в обход FatFS через низкоуровневое API == ~1.3МБ/сек.
Могу только посоветовать проверить, что Вы пишете в CONTROL-регистр DMA-канала: размер пакета - соответствует-ли выбранной периферии (MCI)? А также размерности пересылки и выравнивания.
Цитата(megajohn @ Mar 18 2013, 20:15)

Из-за багов в чипе (DMA останавливается раньше, чем вычитает весь FIFO) пришлось читать 120 двойных слов через DMA и потом остатки из FIFO выгребать вручную.
Далее, DMA реально останавливается, когда FIFO ещё не пустое - видать, при разводке чипа DMA прицепили к сигналу "FIFO наполовину заполнено". Вот он и не дочитывает. И подобного геммороя у NXP полно, странно то, что они не перевыпускают свои даташиты с исправлениями.
Уже много лет работаю с МК от NXP. LPC23xx, LPC17xx, LPC178x. Больше десятка разных устройств, работал с большей частью встроенной периферии - ну
ни разу не натыкался на серьёзные баги, ну или что-то существенное, что запомнилось-бы.
И в то же время периодически слышу о багах в них у кого-то.... Вот почему такое??? Неужто мне так везёт, что я каждый раз использую только ту периферию, в которой нет багов, и только те её режимы, которые не глючат?????

PS: Всегда стараюсь следовать правилу - 99% вероятности, что проблема у меня. И только после этого начинаю грешить на железо.