Подскажите, пожалуйста разобраться. Пытаюсь сделать так, чтобы из области памяти, которая отображается на экране, данные быстро копировались в буфер, где будет формироваться будущее изображение. Если использовать простой способ попиксельного копирования, то всё работает, но хочется, чтобы это делалось через DMA, т.к. скопировать экран 800х480 простым способом - процесс немимолётный.
Вроде бы связанные списки формирую правильно (как написано в мануале на проц), потом вызываю разовую посылку по DMA с указанием начала списка, но копирование происходит не полностью, либо вообще ничего не копируется. С чем это может быть связанно не понятно.
это всё понятно, использую внешнюю динамическую память. Сейчас оно у меня работает, но не так, как хотелось бы :( Поставил задержку после Enable Channel и вроде как копирует то, что нужно, но при этом наблюдаю дёрганья экрана (((( вот как от них избавиться? Используется встроенный в LPC2478 контроллер LCD. Видимо одновременно с экраном к одной и той же памяти обращается ещё и DMA, в следствии чего наблюдаются подобные дёрганья/сбои.
Попробовать поиграть параметрами приоритета устройств на шине в регистре AHBCFG1 ( UserManual гл. 3.4) и поставить
LCD контроллеру высший приоритет на шине.
спасибо за совет, вот только всячески пробую поставить приоритеты, а ничего не работает + приходится через flash utility стирать память, т.к. кейл не может остановить устройство. Есть подозрение,что недостаточно просто изменить значения регистра AHBCFG1 или я делаю это не в том месте программы (в самом начале).