Покопался в DMA2D еще - лажа короче полная.
Итак первый скриншут консоли gdb. Вначале я запрограммировал DMA2D залить первые 8 точек на экране в 0xFFFF. Это у него замечательно вышло (оно и понятно адрес и размер выровнены по 8байтам). Далее я его "попросил" поставить одну точку по адресу 0xD0000004. Он ее поставил, при этом попутно испортив три байта рядом. То же самое и с адресом 0xD000000A. Что интересно портятся отдельные байты, а не слова.
А на этой картинке несколько значений записаны без использования DMA2D в те же ячейки памяти. Понятно, что это не настоящий тест - просто демонстрация:
Ради интереса отключил байтовый доступ (NBL_0=0, NBL_1=0). Теперь DMA2D портит слова
Ну что, есть у кого какие мысли?
Да, по поводу моего подключения SDRAM. Судя по этой картинке из датащита все должно быть ок: