[an error occurred while processing this directive]
|
// конфигурируем память по SPRU670A стр 3-5
// Пункт 1 отключили тактирование
EMIF_RSET(EGCR,0);
// Пункт 2 Режим тактирования 1:1 ничего не делаем
// EMIF_RSET(EGCR,0);
// Пункт 3 установить тип памяти SDRAM для всех банков
tmp=(EMIF_RGET(CE01) & 0x0FFF)| 0x3000;
EMIF_RSET(CE01,tmp);
tmp=(EMIF_RGET(CE11) & 0x0FFF)| 0x3000;
EMIF_RSET(CE11,tmp);
tmp=(EMIF_RGET(CE21) & 0x0FFF)| 0x3000;
EMIF_RSET(CE21,tmp);
tmp=(EMIF_RGET(CE31) & 0x0FFF)| 0x3000;
EMIF_RSET(CE31,tmp);
// Пункт 4 запрограммировать регистр управления SDRAM №1
EMIF_RSET(SDC1,0x0100); // 4M x 16bit
// Пункт 5 запрограммировать регистр управления SDRAM №2
EMIF_RSET(SDC2,0x0300); // RAS 3 такта
// Пункты 6, 7 пропуcкаем
// Пункт 8 включаем тактировани
EMIF_RSET(EGCR,0x0020);
// Пункт 9 старт инициализации SDRAM
EMIF_RSET(SDINIT,0);
Регистры похоже прописываются.
Вот что считывается:
DSK55 start.
EGCR= 2e
EMIBE= 0
SDPER= 80
SDCNT= 18
SDC1= 100
SDC2= 300
CE01= 3fff
CE02= 5fff
CE03= 0
CE11= 3fff
CE12= 5fff
CE13= 0
After init
По моему мнению хотябы CLKM должен появиться.
Все время уровень в нуле.
Цифровой осциллограф не захватывает ни одного перехода из 0 в 1.
Пробовал EMIF_config() функцию из CLS тот же результат :-(
Может Big Endian Little Endian нужно правильно выставить?
Спасибо.
E-mail: info@telesys.ru