|
LCD DMA, Похоже DMA не запускается |
|
|
|
Aug 16 2010, 14:00
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Свои версии кончились. Гуру, взываю к Вам, помогите!!! Собрал сопц на ките N2-DK-eval 3c25, тот который с LCD (разьем LCD в картинке). Сопц в картинках ниже (разделен на 2 части, весь в экран не влез). Собираю - все собирается, прошивается, пошагово дебажится, а на LCD нет ничего. Начал железо мерять осциллом. Методика такая: при сбросе кит загружается прошивкой и на LCD изображение выводит. Промерял все ноги разъема (когда картинка есть) - записал, что там на них. Заливаю свою систему, заливаю программу, выполняю, снова меряю осциллом ноги. Результат такой - все сигналы, включая синхронизацию, HD,VD,DEN,CLK - один в один как при рабочем экране, а на линиях данных - 0, стабильный, постоянный. Пробовал даже замкнуть 26 и 27 ноги (+3.3В и G7)разьема LCD - появился зеленый фон, сдвинутый правда по горизонтали и вертикали (че-то с бланк интервалами там видимо напутано, но это второстепенная проблема, хотя ее решение тоже пока не знаю). Из чего сделал вывод, что все что касается сопца сделано правильно, не запускается DMA. Тут и тупик. Вроде запускаю как в примере. На всякий случай исходники вложил. Где что не так, где померять, что попробовать, подскажите пожалуйста!!!
Эскизы прикрепленных изображений
|
|
|
|
|
 |
Ответов
|
Aug 17 2010, 09:35
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
В переменной display все вроде как надо (рис. ниже). 0х1111000 - адрес csr DMA, по даресу в name лежит мой \dev\dma, буфер, который начинается с 0х01000048 - адрес в ssram, она 1мбайт, начинается с 0х01000000. Дескрипторы похоже правильные (рис. ниже). Байты 0-3 четные - начальный адрес для чтения, нечетные - адрес след. дескриптора, размер блока данных - 0хff00, дескрипторы закольцованы. Сигналтапом прочитал (рис. ниже) - нули на выходе dma. Посмотрел у dma дескриптор рид адрес и дескриптор рид дата (8,9 сигналы сверху) - нули; дескриптор райт адрес (10 сверху) - адрес одного из дескрипторов, дескриптор райт дата (11 сверху) - говорит о том, что передано этим дескриптором 0хff00 байт. Мемори рид адрес указывает на место в дисплейном буфере (12 сверху). Но вот беда! Данные остаются одни и теже при каждом запуске сигнал тап, т.е. вроде как dma остановлено. После сброса проца данные другие (но правильные, другой дескриптор, другой адрес памяти), но до следующего сброса не меняются. Такое ощущение, что dma работать начинает, но останавливается, причем случайно. ЧТО ДЕЛАТЬ-ТО ??
Сообщение отредактировал alexPec - Aug 17 2010, 09:37
Эскизы прикрепленных изображений
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|