新手高分求助YL2440内存扩展问题

beyond1999   2008-5-22 09:32 楼主
购买优龙公司的YL2440开发版,该板在BANK6片区外接两片SDRAM,容量为32x2MB,我想要在bank7片区再接两片SDRAM,欲将SDRAM容量扩展到64*2=128M。
按照网上介绍的方法,修改map.a里面的OEMAddressTable
在DCD 0x8C000000, 0x30000000, 64                     ;BANK6
后面增加: DCD 0x90000000, 0x38000000,64      ;BANK7
    修改
   DCD 0x90800000, 0x48000000,  1  ; Memory control register
   DCD 0x90900000, 0x49000000,  1  ; USB Host register
   DCD 0x90A00000, 0x4A000000,  1  ; Interrupt Control register
   DCD 0x90B00000, 0x4B000000,  1  ; DMA control register
   DCD 0x90C00000, 0x4C000000,  1  ; Clock & Power register
   DCD 0x90D00000, 0x4D000000,  1  ; LCD control register
   DCD 0x90E00000, 0x4E000000,  1  ; NAND flash control register
   DCD 0x90F00000, 0x4F000000,  1  ; Camera control register
   DCD 0x91000000, 0x50000000,  1  ; UART control register
   DCD 0x91100000, 0x51000000,  1  ; PWM timer register
   DCD 0x91200000, 0x52000000,  1  ; USB device register
   DCD 0x91300000, 0x53000000,  1  ; Watchdog Timer register
   DCD 0x91400000, 0x54000000,  1  ; IIC control register
   DCD 0x91500000, 0x55000000,  1  ; IIS control register
   DCD 0x91600000, 0x56000000,  1  ; I/O Port register
   DCD 0x91700000, 0x57000000,  1  ; RTC control register
   DCD 0x91800000, 0x58000000,  1  ; A/D convert register
   DCD 0x91900000, 0x59000000,  1  ; SPI register
   DCD 0x91A00000, 0x5A000000,  1  ; SD Interface register
   DCD 0x91B00000, 0x5B000000,  1  ; AC97 Interface register
   DCD 0x91C00000, 0x5C000000,  1  ; ATAPI register cs0 add by fly
   DCD 0x91D00000, 0x5D000000,  1  ; ATAPI register cs1 add by fly
使虚拟地址都偏移0x04000000,如0x90800000改为0x94800000
这时系统可以正常启动,说明虚拟地址物理地址映射成功,但这是原来64兆的系统啊……
我又修改Config.bib的RAM    8DE00000  02200000  RAM为:
RAM    8DE00000  06200000  RAM  ;增加64M
但改动过后启动时候停在OEMInit Done...,进不了wince桌面,到底哪儿还有问题,我快崩溃了……

回复评论 (4)

虚拟地址干吗都偏移0x40000000(64MB)呢?

对BANK7的初始化做了吗?管脚使能,时钟使能。

用Debug模式,然后把信息贴出来好分析。
点赞  2008-5-22 13:23
我也是按照网上介绍的方法做的,是因为新加的bank7(64M)占用了虚拟地址空间,所以下面的虚拟地址都要偏移一下。
我是新手,问一下bank7的初始化(管脚使能,时钟使能)在哪儿设置啊?
点赞  2008-5-22 20:26
我看了一下s3c2440的手册,把bank6和bank7的banksize都设为64M,似乎bank7的首地址就会自动改为0x34000000,这样它们的物理地址就连续了,从0x30000000到0x38000000
另外,问个更菜的问题:“用Debug模式,然后把信息贴出来”是什么意思?
我现在的做法是:pb中修改参数后在“release”模式下sysgen,然后把生成的nk.bin用厂家提供的bootloader下载到开发板上。“OEMInit Done...”等信息是在一个叫DNW的串口工具里看到的,什么时候进行debug?
点赞  2008-5-23 17:00
就你一个人回答问题,虽然未能解决问题,分还是都给你吧。
点赞  2008-6-27 22:54
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复