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

 
 
> ixp465 настройка sdram
zhenekan
сообщение Apr 3 2010, 19:15
Сообщение #1





Группа: Участник
Сообщений: 4
Регистрация: 7-03-10
Пользователь №: 55 835



Доброго времени суток!

Помогите пожалуйста - пытаюсь запустить RedBoot (ROM Little Endian) на плате с процессором ixp465.
загрузчик прошиваю во флеш и он стартует при включении (ресете) платы
Процесс загрузки останавливается на инициализации MMU. (возможно из-за памяти)
На плате имеется 3 микросхемы памяти ddr Micron MT46V16M16BG-5B:F
третья из них для ECC
всего памяти 64mb (из 2 микросхем по 32 мб) - ECC пока решил отключить чтоб не мешала
тайминги настраивал по даташиту на микросхемы:

Tras = 8 (55/7.5)
Trp = 2 (15/7.5)
Tpcd = 2 (15/7.5)
Trfc = 10 (70/7.5)
Trc = 8 (55/7.5)
Twr = 2 (15/7.5)
Twtr = 2
CAS latency = 2.5

соотвественно

из ixp465.h

#define SDRAM_SIZE 0x04000000 // 64MB

// dlya 64 mb operativki
#define SDRAM_BANK64M (0x2) // 64mb size
#define IXDP465_SBR0_INIT (DDR_SBR_256Mx16 | SDRAM_BANK64M) // 0x80000002
#define IXDP465_SBR1_INIT (IXDP465_SBR0_INIT) // 0x80000002 (from datasheet)

перед записью в регистры некоторые нужно изменить немного (согласно даташиту на процессор)
#define IXDP465_SDCR0_INIT \
(DDR_SDCR0_TRAS(7) | DDR_SDCR0_TRP(1) | DDR_SDCR0_TRCD(1) | DDR_SDCR0_TEDP(2) | \
DDR_SDCR0_TWL(0) | DDR_SDCR0_CAS_2_5 | DDR_SDCR0_DDR_I | DDR_SDCR0_BUS32)

#define IXDP465_SDCR1_INIT \
(DDR_SDCR1_TRTCMD(2) | DDR_SDCR1_TWTCMD(5) | DDR_SDCR1_TRTW(6) | \
DDR_SDCR1_TRFC(9) | DDR_SDCR1_TRC(7) | DDR_SDCR1_TWTRD(5))


далее сама настройка
из hal_platform_setup.h

CODE
// Setup SDRAM controller
ldr r0, =IXP_DDR_CFG_BASE1

ldr r1, =IXDP465_SDCR0_INIT
str r1, [r0, #IXP_DDR_SDCR0] //set timings for chip1

ldr r1, =IXDP465_SDCR1_INIT
str r1, [r0, #IXP_DDR_SDCR1] //set timings for chip2

mov r1, #SDRAM_PHYS_BASE
str r1, [r0, #IXP_DDR_SDBR] // set memory start address in register SDBR
ldr r1, [r0, #IXP_DDR_SDBR] // readback

ldr r1, =IXDP465_SBR0_INIT
str r1, [r0, #IXP_DDR_SBR0] // set bank 0 params in SBR0
ldr r1, [r0, #IXP_DDR_SBR0]

ldr r1, =IXDP465_SBR1_INIT
str r1, [r0, #IXP_DDR_SBR1] // set bank 1 params in SBR1
ldr r1, [r0, #IXP_DDR_SBR1]

// Step 5. Disable refresh cycles
mov r1, #0
str r1, [r0, #IXP_DDR_RFR]

// Step 6. Send NOP command
mov r1, #DDR_SDIR_NOP
str r1, [r0, #IXP_DDR_SDIR]
DELAY 0x100000, r1

// Step 7. Issue precharge-all command to close all open banks
mov r1, #DDR_SDIR_PRECHARGE_ALL
str r1, [r0, #IXP_DDR_SDIR]
DELAY 0x100000, r1

// Step 8. Issue extended mode register set to enable dll
mov r1, #DDR_SDIR_EMRS_DLL_ENABLE
str r1, [r0, #IXP_DDR_SDIR]
DELAY 0x100000, r1

// Step 9. Issue mode register set w/ DLL reset
mov r1, #DDR_SDIR_MODE_SET_RESET
str r1, [r0, #IXP_DDR_SDIR]
DELAY 0x100000, r1

// Step 10. Issue precharge-all command
mov r1, #DDR_SDIR_PRECHARGE_ALL
str r1, [r0, #IXP_DDR_SDIR]
DELAY 0x100000, r1

// Step 11. provide 2 auto-refresh cycles
mov r1, #DDR_SDIR_AUTO_REFRESH
mov r2, #2
1:
str r1, [r0, #IXP_DDR_SDIR]
ldr r3, [r0, #IXP_DDR_SDIR]
DELAY 0x800, r3
subs r2, r2, #1
bne 1b

// Step 12. Issue mode register set w/o DLL reset
mov r1, #DDR_SDIR_MODE_SET_NO_RESET
str r1, [r0, #IXP_DDR_SDIR]
DELAY 0x100000, r1

// start normal operation
mov r1, #0xf
str r1, [r0, #IXP_DDR_SDIR]
DELAY 0x10000, r1

// Step 14. Set refresh val
ldr r1, =IXDP465_SDRAM_REFRESH_CNT

// Enable byte swapping control via page table P bit.
ldr r2, =IXP425_EXP_CFG_BASE
ldr r1, [r2, #IXP425_EXP_CNFG1]
orr r1, r1, #EXP_CNFG1_BYTE_SWAP_EN
str r1, [r2, #IXP425_EXP_CNFG1]

str r1, [r0, #IXP_DDR_RFR]
DELAY 0x100000, r1


Размерность настроил вроде правильно
Написал тест памяти - пробую писать (например 0xF5 ) во всю память а затем считывать
и при чтении из некоторых ячеек возвращается то 0xF5 то 0x900000F5 то 0x4E0000F5 laughing.gif

Может кто работал с RedBoot или этим процессором или этой памятью(или похожей)?

Пробовал разные настройки памяти и не помогает... crying.gif может все-таки не так настроил? rolleyes.gif

datasheet sdram
http://ifolder.ru/17116375

Сообщение отредактировал zhenekan - Apr 3 2010, 19:17
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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