Цитата(megajohn @ Mar 19 2013, 08:28)

у вас пример MEM2MCI. Покажите плз еще обратно.
CODE
//
// Запрещаем и подготавливаем канал 1 модуля GP DMA
//
DMA_CH1_CFG = 0;
DMA_INT_TC_CLR = bDMA_TC_INT1;
DMA_INT_ERR_CLR = bDMA_ERR_INT1;
DMA_CH1_SRC = (DWORD)&MCI_FIFO[0];
DMA_CH1_DEST = (DWORD)buf;
DMA_CH1_LLI = NULL;
DMA_CH1_CTRL = IO_SDMMC_BLOCK_SIZE/sizeof(DWORD) // число не байтов
| bDMA_SBSIZE_8 // а трансферов
| bDMA_DBSIZE_8 // на стороне источника
| bDMA_SWIDTH_32
| bDMA_DWIDTH_32
| bDMA_DI
| bDMA_I;
Там то же самое. Причем работают как варианты с одиночным сектором, так и с непрерывным чтением.
Специально сейчас после окончания транзакции распечатал DMA_CH1_CTRL - в поле счетчика светится 0, все данные корректно переданы в буфер. А то я уже сомневаться начал - с 1788 еще прикладники плотно не работали, может там ошибка. Но вроде нет, все нормально. Этот же код успешно работает на 2368/88.