zhsk
驱动小牛
驱动小牛
  • 注册日期2006-07-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分723分
  • 威望145点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
阅读:1983回复:10

2440内核从USB下到SDRAM运行问题

楼主#
更多 发布于:2007-05-29 15:55
大家好,最近做了一块2440的板子。现在把NK.BIN文件通过USB下到SDRAM的30200000地址中运行。但是下载完成后,串口消息显示如下:
Now, Downloading [ADDRESS:30200000h,TOTAL:39845898]
RECEIVED FILE SIZE:39845898
(953.1KB/S,41.8S)
Now, Checksum calculation
Download O.K.

就停在这了,什么反映都没有了,并没有出现预料中的内核运行的串口消息,在这个过程中3.3V 1.3V电压都是很稳定的,所以也不知道是什么原因导致这样的情况。现在是发现无论什么东西下到SDRAM中运行都是这样的情况,这是为什么呢,请大家帮忙下,谢谢
zhsk
驱动小牛
驱动小牛
  • 注册日期2006-07-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分723分
  • 威望145点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-05-30 13:08
没人回答啊 自己先顶一个啊,大家帮帮忙啊
zhsk
驱动小牛
驱动小牛
  • 注册日期2006-07-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分723分
  • 威望145点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-06-07 15:48
谢谢楼上的师兄~~~一个星期没弄这个了~~
NK是没问题的,我的bootloader跑起来显示的频率信息如下:
Found boot params
FCLK=360MHz, HCLK=90MHz, PCLK=45MHz, CPU is running at 360MHz
UPLL=96MHz, UCLK=48MHz

而板子的SDRAM是561620FTP-H,您看看这样有没有问题,谢谢
zhsk
驱动小牛
驱动小牛
  • 注册日期2006-07-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分723分
  • 威望145点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-06-12 14:29
不好意思,是帖子中写错了~~下到SDRAM中的是NB0
zhsk
驱动小牛
驱动小牛
  • 注册日期2006-07-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分723分
  • 威望145点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-06-14 14:36
引用第6楼zhengshijie于2007-06-12 18:38发表的  :
频率没有什么问题,已经很低了。跳转运行函数有没有问题,下载一个别的程序,比如2440test.bin运行也不行吗?写进FLASH后,从FLASH启动呢?

非常感谢zhengshijie师兄的帮忙.跳转函数没有问题的因为同样的BOOTLOADER和NK在另一块板子上是可以运行起来的.把NK.BIN写进FLASH后运行,当跳到NK去运行时候会出现三种情况,一是串口什么消息都没有就停在那里了,或者当跳到那里后就出现Dabort exception!!!,或者就是出现Undefined instruction exception!!!.所以可以确定程序肯定是跑飞了,现在怀疑是不是SDRAM的布线可能有点问题跑不了那么高的频率,想降低下SDRAM的总线时钟,但是不知道应该在哪里修改,请师兄指点
zhsk
驱动小牛
驱动小牛
  • 注册日期2006-07-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分723分
  • 威望145点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-06-14 14:38
引用第7楼zhengshijie于2007-06-12 18:45发表的  :
还有一个地方,修改IO的驱动电流,可能你新做的板子电源驱动能力不够。
    // Set I/O strength control.
    rDSC0 = (0<<31)|(0x2<<8)|(0xff<<0);
//    rDSC0 = (0<<31)|(0x0<<8)|(0x00<<0);
    // nEN_DSC    [31]    : 0:I/O drive strength enable, 1:Disable
.......

我找不到这个地方在哪里~~~~我只是在POWER.c文件中的ConfigMiscReg函数中找到:
s2440IOP->rMSLCON = (0<<11)|(0<<10)|(0<<9)|(0<<8)|(0<<7)|(0<<6)|(0<<5)|(0<<4)|(0<<3)|(0<<2)|(0<<1)|(0<<0);
    s2440IOP->rDSC0 = (1<<31)|(3<<8)|(3<<0);
    s2440IOP->rDSC1 = (3<<28)|(3<<26)|(3<24)|(3<<22)|(3<<20)|(3<<18);
这个有问题吗?谢谢
游客

返回顶部