реклама на сайте
подробности

 
 
> LPC43xx, RAM только в SDRAM., Как?
skripach
сообщение Jan 2 2013, 07:34
Сообщение #1


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



С НОВЫМ ГОДОМ! santa2.gif
Хочу использовать внутреннее ОЗУ как ROM, а SDRAM(внешнее озу) как RAM. Не понятно куда вставить код инициализации контроллера SDRAM, очевидно что где-то перед "__iar_program_start".
Вообще такое можно сделать? Или это делается как-то иначе?


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
skripach
сообщение Jan 16 2013, 14:38
Сообщение #2


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Не создаю новую тему. sm.gif
Увеличил частоту ядра(SDRAM), всё стало периодически "падать".
Память у меня 32МБайта, 16бит шина. Сделал простенький тест памяти:
Код
uint32_t error_array[100];
uint32_t *ramdata;
uint32_t i;  

for(;;)
{
  error_counter=0;
  ramdata = (uint32_t *)SDRAM_ADDR_BASE;
  for(i=0;i<SDRAM_SIZE/4;i++)
  {
    *ramdata = i;
    ramdata++;
  }
  //for(volatile uint32_t er=0; er < 3000; er++);
  ramdata = (uint32_t *)SDRAM_ADDR_BASE;
  for(i=0;i<SDRAM_SIZE/4;i++)
  {
    if(*ramdata != i)
    {
      error_array[error_counter]=(uint32_t)ramdata;
      error_counter++;
    }
  ramdata++;
}

Если раскоментировать for(volatile uint32_t er=0; er < 3000; er++); то тест проходит без ошибок, иначе в error_array 85-95 первых адресов SDRAM.
Менял задержки в инициализации контроллера SDRAM, но не заработало. Надеюсь на гуру SDRAM памяти.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
KRS
сообщение Jan 16 2013, 15:27
Сообщение #3


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(skripach @ Jan 16 2013, 18:38) *
Если раскоментировать for(volatile uint32_t er=0; er < 3000; er++); то тест проходит без ошибок, иначе в error_array 85-95 первых адресов SDRAM.
Менял задержки в инициализации контроллера SDRAM, но не заработало. Надеюсь на гуру SDRAM памяти.

Тайминги надо менять, у вас идет последовательная запись, а потом последовательное чтение
если нет задержки между переходом все слетает.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 12:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01398 секунд с 7
ELECTRONIX ©2004-2016