11502|39

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

更换256M大页flash和128MSDRAM问题 [复制链接]

这两天更换了256M大页flash和128MSDRAM,我从网上找的现成的nand flash驱动,根据论坛里的修改128M SDRAM的步骤修改了软件,我检查了一下,该改的地方都改过了,可现在系统起不来,也没有串口调试信息,不知道什么原因,请大家帮帮偶,多谢大家了!我的平台是wince4.2+s3c2440!

最新回复

呵呵 技术问题嘛,你怎么知道我说的就不对呢,莫非你试了?当然了,也可能不是这个原因,但解决问题总要试试看嘛。 ***************************************************************************** 功能最全的S3C2440开发板-飞凌TE2440Ⅱ: http://www.witech.com.cn/product/TE-ARM2440-2.html *****************************************************************************  详情 回复 发表于 2008-11-10 11:13
点赞 关注

回复
举报

53

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
bootloader起来了吗?
换Flash关键是看Flash的型号,如果是三星的Small Block换成Large Block的话,驱动改动也比较大的
换SDRAM相对来说要简单一点,关键也是查看新的SDRAM的Spec,根据Spec修改相应的Memory Controller的设置,查看地址空间的映射等等,BSP里面也需要修改一些地方,如OEMAddressTable,Config.bib及相关改动引起的一些头文件的地址的变化等
 
 

回复

96

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 hzdysymbol 的回复:
bootloader起来了吗?
换Flash关键是看Flash的型号,如果是三星的Small Block换成Large Block的话,驱动改动也比较大的
换SDRAM相对来说要简单一点,关键也是查看新的SDRAM的Spec,根据Spec修改相应的Memory Controller的设置,查看地址空间的映射等等,BSP里面也需要修改一些地方,如OEMAddressTable,Config.bib及相关改动引起的一些头文件的地址的变化等


就这些东西,楼主串口打印信息都没有出来,肯定是SDRAM问题了。你仔细看看ARM和内存的数据手册。这个东西还是要很小心的。
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

4
 
我是在wince5.0+s3c2410上实现的,主要就改一些大小定义,地址映射等
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 
最好把串口信息打出来,先确认你的boot改对了,如果boot不先支持是跑不起来的。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 4 楼 constantine 的回复:
最好把串口信息打出来,先确认你的boot改对了,如果boot不先支持是跑不起来的。


内存没有初始化好,程序都没有运行,不会有串口信息的
建议楼主先在ADS下调试好,确认你的硬件没有错误,然后再在PB上调试。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

7
 
多谢各位,在ADS下已经调试好了,bootloader也起来了,也都有打印信息,只是在启动ce时起不来,好像没有NK,但是我查看内存中NK已经传进去了,不知什么原因,可能还是sdram没有设置对。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

8
 
bootloader能起来说明SDRAM肯定是可以正常工作了,CE没有起来有可能是内存分配或者地址上出了问题
为了避免是FLASH的问题,建议直接把NK装到RAM里,然后跳转,看能否起动?
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

9
 
应该不是flash的问题,现在基本上确定是内存分配的问题!我将b6_scan设置为0x2,然后改了map.a,将原来0x90800000以后的地址全部后移0x4000000,最后修改了config.bib!bsp中的文件涉及到地址设置的地方都是物理地址,物理地址并没有更改!请大家告诉我还需要改什么地方!多谢了!
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

10
 
CE有起来了吗?还是说CE的OEMInit都没有跑进来?
如果OEMInit都没有跑的话可能还是要检查一下SDRAM在CE下面的配置是否跟Bootloader一致,这个就看各自的做法,有的在CE Image起来的时候会重新初始化系统,有的是在Bootloader配置了CE下面就不再重设了
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

11
 
跑到哪里嫩贴串口信息出来吗?
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

12
 
建议你不要两个同时换,在保证一个能用的基础上再去调另一个。首先你要保证你的RAM能用,在RAM能用,电路没问题的基础上去调NAND FLASH。在NAND FLASH调好的基础上,再试着把RAM去调大!

//=================把大事化小,小事化了。饭要一口口吃的!不要指望一下子什么都能够OK!
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

13
 
wince5.0+s3c2410实现的,我简单罗列了一下我的做法,希望对你有帮助。
http://blog.eeworld.net/constantine/archive/2008/10/31/3193262.aspx

楼上说的不错,最好一样一样改,不要一起来,不然错误更是难以确定。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

14
 
多谢各位了,我先是把新的NandFlash换到老板子上,结果CE可以跑起来,然后换到新板子上,uboot和测试程序也都已经可以跑起来了,现在跑uboot时串口信息都正确,跑CE时串口压根没有东西,我怀疑还内存分配上出问题,现在发现更改过后系统在一直重起。
多谢xqhrs232,我试试你的办法!
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

15
 
感谢constantine,我按照你的blog试试!
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

16
 
constantine,我按照你的办法试了试,结果还是不停重起,好像是301073b8这个地方有问题,请教这是什么原因!
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

17
 
我的只能参考,我的平台跟你不一样,不过应该差不多,但是或许有小区别。
你最好把串口信息打印出来,给你地址我根本就无法知道你到底发生了什么问题。
我做的时候只有起不来的,重启的我也没见过。
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

18
 
终于可以看见串口打印信息了,nnd,我把工程全部删除再把原来备份的还原,再按照我原来改过的地方进行修改就能看见了,真是奇怪!现在是串口信息停在了:由于是新板子,所以可能和原来的软件有冲突!
Starting application at 0x30100000 ...?Windows CE Kernel for ARM (Thumb Enabled) Built on Nov  3 2008 at 19:01:16
ProcessorType=0920  Revision=0
ProcessorType=0920  Revision=0
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 8c101484

Windows CE Firmware Init
INFO: Initializing system interrupts...
INFO: Initializing system clock(s)...
INFO: Initializing driver globals area...
OEMInit Done...
ProcessorType=0920  Revision=0
Booting Windows CE version 4.20 for (ARM)

Old or invalid version stamp in kernel structures - starting clean!
Configuring: Primary pages: 24526, Secondary pages: 0, Filesystem pages = 512

Booting kernel with clean memory configuration:
Memory Sections:
[0] : start: 8dc2c000, extension: 00006000, length: 05fce000
Sp=ffffc7cc
Windows CE KernelInit----nan
HeapInit Done...----nan
FMD: ReadID (Mfg=ec, Dev=da)
FMD_Init: finished successful
InitializeJit
PWR: Process Attach
OEMInterruptEnable()

OEMInterruptEnable()

AC97AUDIO::Init.
Drive the UART1
UART1 - !!!
OEMInterruptEnable()

UART1_OEMInterruptEnable()

UART1 interrupt.
UART1_OEMInterruptDone()

UART1 interrupt.
SL_Open 0x30A50 (0 opens)
setbaudrate in sl_open
+SL_SetbaudRate 0x30A50, 9600
SetBaudRate -> 9600?
大家看看是什么原因!
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

19
 
mark
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

20
 
或许你新的把串口打印函数给屏蔽了。
到 SetBaudRate -> 9600?
结束?

我这么看不出你说的301073b8地址从哪里得到的?

你已经到了驱动部分,好好看看修改的影响了那些驱动。我感觉应该是地址修改了可能影响到你某个驱动起不来。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表