wince sdram 64M------>128M 的改造问题-_-!!!

gxs_work 2008-07-04 03:07:18
前辈们好~

我现在在s3c2440上做wince,原来的sdram是64M的,现在换成了128M的,在我开始改程序之前,wince是正常启动的,但是进入系统后看得出虽然换了128M的sdram,但是还是只认出来了64M。

于是我开始改程序了:

先是bois的设置,我的sdram接在bank6,我就把bank6的B6_SCAN 设置为0x2 ;代表的10bit的列地址

wince的改动如下:

map.a中:
OEMAddressTable
; DCD 0x8C000000, 0x30000000, 64 ; 64 MB DRAM BANK 0, 1
DCD 0x8C000000, 0x30000000, 128 ; 128 MB DRAM BANK 0, 1
改成了128的,然后把后面的映射的虚拟地址都后移了0x4000000,避免冲突了......

config.bib

; RAM 8DE00000 02200000 RAM
; rework by kw.gx
RAM 8DE00000 06200000 RAM

我改成了这样意思就是ram使用的大小也改大了。

memcfg.a中的bank6的设置

;Bank 6 parameter
B6_MT EQU 0x3 ;SDRAM
B6_Trcd EQU 0x2 ;3clk ; over 180M
;B6_SCAN EQU 0x1 ;9bit
B6_SCAN EQU 0x2 ;10bit rework by kw.gx

可是现在系统跑步起来了
Memory Test(30200000h-33800000h):O.K.
Memory Test OK...
Load Kernel in NandFlash...
NandFlash Start Page = 0x4000...
NandFlash Start Page = 0x4000,And Size = 29360128
run 0x30201000...

就没有反应了......

是在不知道是什么地方除了问题,试验了好久都没有解决,哪位大大出手相救啊!!!!!

解决不了的朋友,也希望给予我友好的一顶~!!!!!

谢谢大家了

西安 小高
...全文
1168 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
gooogleman 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 shuiyan 的回复:]
可参考 WindowsCe4.2 128M SDRAM 调整步骤,S3C2440的。
http://blog.csdn.net/slyzhang/archive/2007/07/03/1676889.aspx
[/Quote]

这个博客的做法是不正确的。
elite407 2008-07-12
  • 打赏
  • 举报
回复
我也是个新手,还不是很了解,呵呵,我看到BANKSIZE大小控制寄存器里边有一个设置BANK6和7的BK76MAP,是不是这里的设置没改呢????
shuiyan 2008-07-10
  • 打赏
  • 举报
回复
可能是因为BOOT中的汇编部分,对SDRAM的配置出问题了。
要修改相应的寄存器,告诉CPU用的是128MB的SDRAM。然后CPU才知道从25 26产生BANK信号。
gxs_work 2008-07-10
  • 打赏
  • 举报
回复
仔细看了数据手册64 与 128的连接确实有不同 就像4楼大大说的一样

我现在改了硬件的定义 连接在 25 26 , 可是现在的板子却不能启动了,很奇怪 , 我用multi-ice连接 就可以单步,全速run都可以,可是我直接上电跑的话就起不来4斩跑马灯先点亮然后迅速熄灭,串口没有任何反应。

调试了很久 都没有找到问题的根源

希望得到点你们的经验之谈 谢谢
yuanqh20000065 2008-07-07
  • 打赏
  • 举报
回复
改完以后要进入dos命令行,用Build -c 对你所更该的内容进行编译。
shuiyan 2008-07-06
  • 打赏
  • 举报
回复
可能是硬件上的信号脚不对应。好好看看原理图和datasheet
gxs_work 2008-07-06
  • 打赏
  • 举报
回复
多谢 前辈 ~ 我现在就在做遍历sdram的测试 发现高端的SDRAM地址 确实不能正常写入 一写就崩溃 可能是sdram的配置还有问题 我再看看
shuiyan 2008-07-04
  • 打赏
  • 举报
回复
可参考 WindowsCe4.2 128M SDRAM 调整步骤,S3C2440的。
http://blog.csdn.net/slyzhang/archive/2007/07/03/1676889.aspx
Reallyu 2008-07-04
  • 打赏
  • 举报
回复
俺以前做过,依稀记得cpu是2440的话一个bank用128M,要改两根地址线bank地址选择25,24 变 26,25 ,当然还可以有其他很多经济性改法,不过硬件改动就比较大了.
shuiyan 2008-07-04
  • 打赏
  • 举报
回复
记得以前看过一个高手的blog,就是24xx平台的SDRAM扩展。我在找。
你顺便可以做一件事:
在eboot下,从SDRAM的0地址开始,到128MB空间,来一次遍历校验,就是写一下读一下,看看是否能全部成功,尤其是高64MB空间。
为了防止写之后数据总线未释放,导致读的还是写的数据,而失去校验的意义,建议写至少2个地址,然后再读这2个地址,只要保证每个地址写的不一样就行。
gxs_work 2008-07-04
  • 打赏
  • 举报
回复
原来的sdram是MT48LC16M16A2,现在的是MT48LC32M16A2。。。它们的比较是...

MT48LC16M16A2
它的内部结构是:
13根行地址线(A0~A12)
9根列地址线(A0~A8)
2根bank线
其内存容量是 2的13次方 = 8192
2的9次方 = 512
8192 x 512 X 4 X2 = 32MB
at91sam9261EK使用了两片MT48LC16M16A2总共就是64MB


如果需要加大SDRAM到128MB可以选用:MT48LC32M16A2

它的内部结构是:
13根行地址线(A0~A12)
10根列地址线(A0~A9)
2根bank线
其内存容量是 2的13次方 = 8192
2的10次方 = 1024
8192 x 1024 X 4 X2 = 64MB
at91sam9261EK使用两片MT48LC32M16A2总容量就是128MB

注意:
只需要更换内存芯片,不需要重新布pcb的 MT48LC32M16A2 和 MT48LC16M16A2 是pin to pin 兼容的。
更换内存芯片后,相应的动态内存控制配置要改动到适合MT48LC32M16A2比如列地址多了一根。
wangxin_801115 2008-07-04
  • 打赏
  • 举报
回复
关注。。。。。

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧