Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Старый форум » SK-MLPC2478
Пример для работы с внешней SRAM
AlfredAlf (Guest)
Добавлено 30.11.1999 00:00 Редактировалось 03.12.2008 13:56
0
Сообщение: 1
AlfredAlf (Guest)

Topic opened
Спуститься к концу Подняться к началу
AlfredAlf (Guest)
Добавлено 03.12.2008 01:10 Редактировалось 03.12.2008 01:10 Сообщение: 2
AlfredAlf (Guest)

Есть пример проекта с 2 строчками работы с внешней памятью? Записать и прочитать.
В примерах в папке SRAM_test лежит easyweb... Версия платы наверное одна из первых - та которая еще шла с 2468.
Спуститься к концу Подняться к началу
starterkit (Guest)
Добавлено 03.12.2008 08:36 Редактировалось 03.12.2008 08:36 Сообщение: 3
starterkit (Guest)

SRAM_test (основан на easyweb) содержит в себе тест внешней SRAM крутящийся в цикле:
Код
UART_printf(0,"Write ... ");
Pointer8 = (unsigned char *)(NOR_FLASH_BASE + 0);
csum=0;
for(L=0;L<(524288);L++)
{
i=rand();
i &= 0xff;
*Pointer8 = ( char )i;
csum += i;
Pointer8++;
}
UART_printf(0,"Read and compare ... ");
Pointer8 = (unsigned char *)(NOR_FLASH_BASE + 0);
nerror=0;
rcsum=0;
for(i=0;i<(524288);i++)
{
j = *Pointer8 & 0xff;
rcsum += j;
Pointer8++;
}
UART_printf(0,"Loop %d errors %d
",loop++, errors);
if(csum != rcsum) {UART_printf(0,"Error CSUM compare 0x%X 0x%X
",csum,rcsum); errors++;} else ;
Обращение к любой внешней памяти (подключенной через внешнюю шину) никакой специфики не содержит, позволяется обычная работа чечрез указатели, массивы ...
Немного специфики есть только в настройке контроллера внешней памяти.
Спуститься к концу Подняться к началу
AlfredAlf (Guest)
Добавлено 03.12.2008 13:05 Редактировалось 03.12.2008 13:05 Сообщение: 4
AlfredAlf (Guest)

Да вот с настройкой контроллера внешней памяти у меня и возникли проблемы...
Код простой:
Код

int main(void)
{
unsigned char temp;
unsigned char *temp_ptr;

temp_ptr = (unsigned char*)0x80000010;

*temp_ptr = 0x55;
temp = *temp_ptr;

*temp_ptr = 0x00;
temp = *temp_ptr;

*temp_ptr = 0xFF;
temp = *temp_ptr;

return 0;
}


Сразу виснет. В примере используется LPC2300.s и настройки внешней памяти посмотреть не могу через Configuration Wizard (у меня LPC2400.s и можно настроить контролер внешней памяти). Если не сложно - можете дать настройки? Можно просто в виде файла.
Спуститься к концу Подняться к началу
starterkit (Guest)
Добавлено 03.12.2008 13:41 Редактировалось 03.12.2008 13:41 Сообщение: 5
starterkit (Guest)

Это все в тестовом проекте имеется ...
Код
EMC_CTRL = 0x00000001;

PCONP |= 0x00000800; /* Turn On EMC PCLK */

PINSEL6 = 0x00005555;
PINSEL8 = 0x55555555;
PINSEL9 = 0x50555555;

EMC_STA_CFG0 = 1<<19;


EMC_STA_WAITWEN0 = 0x0;
EMC_STA_WAITOEN0 = 0x0;
EMC_STA_WAITRD0 = 0x1;
EMC_STA_WAITPAGE0 = 0x0;
EMC_STA_WAITWR0 = 0x0;
EMC_STA_WAITTURN0 = 0x0;
EMC_STA_EXT_WAIT = 0;
Спуститься к концу Подняться к началу
AlfredAlf (Guest)
Добавлено 03.12.2008 13:56 Редактировалось 03.12.2008 13:56 Сообщение: 6
AlfredAlf (Guest)

Спасибо! Все заработало!
Если кому-то нужно - прикрепил настроенный LPC2400.s

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно AlfredAlf 03.12.2008 г. в 14:24:03
Спуститься к концу Подняться к началу
Форум » starterkit.ru » Старый форум » SK-MLPC2478