Доброго времени суток всем! Микроконтроллер LPC2478, внешняя SDRAM MT48LC и TFT-дисплей Powertip PH480272T-006-I13Q с контроллером OTA5180A. В качестве видеопамяти используются первые 512 кБ внешней SDRAM (она используется через модуль EMC). При создании бутлоадера столкнулся с такой проблемой. Пока программа выполняется из внутреннего флеша микроконтроллера - все в порядке. Но стоит загрузить и начать выполнять ее из внешней SDRAM (области после видеопамяти), как изображение на дисплее начинает дергаться. В ходе отладки урезал программу до вывода нескольких черных точек на белом экране. Если точки в нулевой (самой верхней) или например в 16-й строчке дисплея - не дергаются. В сотой - дергаются. Это если их периодически отрисовывать, даже не стирая. Если отрисовать один раз и больше экран не трогать - не дергаются. С чем может быть связано такое поведение? Это вообще корректно - использовать внешнюю SDRAM сразу и под видеопамять и под память программ?
P.S. А еще обнаружил, что код выполняется из MT48LC в 1.4 раза медленнее, чем из внутреннего флеша с включенным MAM, и в 1.6 раз медленнее, чем из внутренней ОЗУ. Это нормально? Или надо оптимизировать какие-то настройки EMC?
|