roboforum.ru

Технический форум по робототехнике.

LPC2478 и большой экран... непонятные граблы.

LPC2478 и большой экран... непонятные граблы.

Michael_K » 07 авг 2011, 16:10

Никак не могу красиво решить проблему.

Дано:
LPC2478, на внешней шине 16-битная SDRAM, подключен дисплей 800x480.
Буфер экрана, естественно, расположен в SDRAM.
- Дисплей работает в режиме 5:6:5 (16 бит на пиксель), кадровая - около 30 Герц.
- Память 75наносекунд, CAS-RAS latency 3:3.
- Мозги - 72 Мегагерца.
То есть должно хватать
(пропускная способность шины примерно в 2.5 раза больше, чем нужно дисплею).
Все по отдельности отлично работает, но...

Быстрый перенос из внутренней памяти в SDRAM - глючит. Ошибки случайные.
Тайминги и памяти, и дисплея менял в широких пределах - безрезультатно.
Колдовал с AHBCFG1 - безрезультатно.

Работают "костыли" типа "записывать в SDRAM по два байта с небольшими паузами", но это меня совершенно не устраивает (потому что каждый раз контролировать, что там генерит компилятор - нереально).

У кого есть опыт, предположения, может быть примеры?

Re: LPC2478 и большой экран... непонятные граблы.

Strijar » 08 авг 2011, 06:59

А копирование идет процессором? DMA там нет?
А память сама по себе точно нормально работает?

Re: LPC2478 и большой экран... непонятные граблы.

Michael_K » 08 авг 2011, 09:22

процом (дма - тоже, наверное, хотелось бы, но пока процом бы запустить)
память при выключенном LCD работает нормально (тестируется весь объем на байтовый, 16-ти и 32-х битный доступ)

Re: LPC2478 и большой экран... непонятные граблы.

Виталий » 08 авг 2011, 11:57

А используется Thumb режим? Там в эррата, какая-то жесть по этому поводу.

Re: LPC2478 и большой экран... непонятные граблы.

Michael_K » 08 авг 2011, 12:58

Ох тыж... действительно...

Добавлено спустя 27 секунд:
Перекомпилял в АРМ - не помогло.

Re: LPC2478 и большой экран... непонятные граблы.

Виталий » 08 авг 2011, 13:21

А чем копируешь память? Просто memcpy?

Re: LPC2478 и большой экран... непонятные граблы.

Michael_K » 08 авг 2011, 15:09

По разному. Даже просто циклом тупым.
Пока копируешь 16-битными словами - все вроде ок. Как только байты или 32-битные слова - ломается.
Выключаешь дисплей - все ок.
В общем, то ли настройки внутренней шины (AHB), то ли памяти. Ну, мне так кажется...


cron
Rambler\'s Top100 Mail.ru counter