Цитата(Polaris @ Mar 8 2013, 18:22)

Насколько медленно будет работать код, выполняемый в SDRAM?
Из опыта работы OMAP-L137+SDRAM могу сказать, что при переносе кода функции из внутренней L2-RAM в SDRAM (для DSP-ядра) практически разницы не заметно в скорости.
Хотя при таком же переносе данных из L2-RAM в SDRAM разница существенная (до 6-7 раз замедление). Хотя канеш в L137 в DSP-ядре есть L1-кеши для кода и данных размером 32K.
Для ARM-ядра там несколько другая картина. Там насколько помню уже есть разница при переносе кода в SDRAM, хотя не такая катастрофическая как тут пишут. Я точно не помню (тестил давно) и для меня там быстродействие ARM-кода не критично, критичен только DSP-код, но вроде замедление получалось порядка менее 2 раз.
Кеш SDRAM там насколько помню есть и в ARM-ядре.
Хотя конечно характер кода разный для этих ядер и в DSP-коде с обилием циклов с запретом прерываний и минимумом ветвлений кеш хорошо работает.
Но в общем даже для ARM-ядра снижение скорости не такое катастрофическое.
Так что если есть кеш SDRAM - можно спокойно работать.
Почему-то эффективность кеша данных SDRAM много ниже чем кеша программы SDRAM.
Цитата(Polaris @ Mar 8 2013, 18:22)

Как вообще под Keil принято осуществлять отладку подобных композитных проектов?
Под Keil - не знаю, но под IAR для возможности загрузки отлаживаемого образа в SDRAM по JTAG, нужен .mac-файл конфигурящий SDRAM.
Может Вы поспешили со сменой платформы (если быстродействия старой хватает)?
А если Вам линковать код и быстрые данные - в одну область памяти (int. flash), а всякие иконки и т.п. тряхомудрию большого размера - в другой регион (SDRAM)? Берёте LPC1788, ставите SDRAM + внешнюю флешку (SPI) большого размера. При старте ПО в бутлоадере инитите SDRAM и грузите второй регион из внешней SPI-флешь в SDRAM.
Насчёт DMA из SDRAM - не знаю, но в пакетном режиме (последовательного доступа) SDRAM должна работать гораздо эффективнее.