Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Нужна помощь для работы с внешней памятью в LPC-H2294 Olimex
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
dedyur
Не могли бы Вы помочь информацией об использовании платы LPC-H2294 Olimex.
Я испытываю трудности с внешней памятью и флешью.
Есть ли описание или готовые листинги взаимодействия с ней?
То, что приводится в сопроводительной документации на сайте Olimex не совсем понятно - в части теста RAM половина функций не прописана.
Можно ли каким-то образом настроить IAR, чтобы Linker автоматически размещал переменные в область внешней ОЗУ?
Какую настройку ЕMC требуется для этого прописать в коде инициализации и есть ли необходимость в конкретном положении переключателей на плате для этого?

Спасибо за помощь.
A. Fig Lee
Цитата(dedyur @ Jun 29 2011, 03:00) *
Не могли бы Вы помочь информацией об использовании платы LPC-H2294 Olimex.
Я испытываю трудности с внешней памятью и флешью.
Есть ли описание или готовые листинги взаимодействия с ней?
То, что приводится в сопроводительной документации на сайте Olimex не совсем понятно - в части теста RAM половина функций не прописана.
Можно ли каким-то образом настроить IAR, чтобы Linker автоматически размещал переменные в область внешней ОЗУ?
Какую настройку ЕMC требуется для этого прописать в коде инициализации и есть ли необходимость в конкретном положении переключателей на плате для этого?

Спасибо за помощь.

Не представляю как это сделать. Чтоб поместить данные в RAM, надо дрыгать ножками аддресса, данных, WR, CS и так далее.
Каким образом линкер сделает эту работу вместо контроллера?
dedyur
Т.е. получается все взаимодействие возможно только с использованием указателей на адреса памяти после инициализации EMC?
Dron_Gus
Можно. Не пугайте человека. Конкретные действия не подскажу. Надо указать линкеру, что у него есть область ОЗУ по определенным адресам. С ИАРом давно не работал.
A. Fig Lee
Цитата(Dron_Gus @ Jun 29 2011, 04:52) *
Можно. Не пугайте человека. Конкретные действия не подскажу. Надо указать линкеру, что у него есть область ОЗУ по определенным адресам. С ИАРом давно не работал.

Точно, вспомнил - в gcc startup file все согласно линкер файлу загружает, пока до main() дойдет.
zltigo
QUOTE (dedyur @ Jun 29 2011, 10:30) *
после инициализации EMC?

Ну и допишите в startup инициализацию EMC. В IAR можно дописать инициализацию и в специально для подобных случаев предназначенную hook функцию __low_level_init().
После этого это уже "обычная" память.

SPACUM
Цитата(dedyur @ Jun 29 2011, 11:00) *
Можно ли каким-то образом настроить IAR,


В IARe объявляется в файле .icf приблизительно так:
define symbol __region_SDRAM_RAM_start__ = 0xA0000000;
define symbol __region_SDRAM_RAM_end__ = 0xA3FFFFFF;
define region SDRAM_region= mem:[from __region_SDRAM_RAM_start__ to __region_SDRAM_RAM_end__];
А вот применения SDRAM_region нигде не нашел. Тоже интересуюсь.

Пришлось использовать Rowley CrossWorks там объявляется в flash_placement.xml, а используется так:
__attribute__((section (".screen")))unsigned long SCRN[640 * 480];
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.