zhsk
驱动小牛
驱动小牛
  • 注册日期2006-07-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分723分
  • 威望145点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
阅读:1979回复: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
没人回答啊 自己先顶一个啊,大家帮帮忙啊
zhengshijie
驱动小牛
驱动小牛
  • 注册日期2003-07-11
  • 最后登录2009-03-18
  • 粉丝1
  • 关注0
  • 积分8分
  • 威望217点
  • 贡献值0点
  • 好评度199点
  • 原创分3分
  • 专家分0分
板凳#
发布于:2007-05-30 18:09
EBOOT主频是多少,如果你的NK以前是跑过没问题的话,就还是可能跟SDRAM的性能有关。跟你之前的那个帖子里是一样的原因,调整主频和总线时钟MEMCLK试试。
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,您看看这样有没有问题,谢谢
lostinfog
驱动牛犊
驱动牛犊
  • 注册日期2006-07-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分410分
  • 威望42点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-06-11 22:17
建议先弄清楚NK.bin和NK.nb0的区别,能下载到RAM运行的是NK.nb0
zhsk
驱动小牛
驱动小牛
  • 注册日期2006-07-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分723分
  • 威望145点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-06-12 14:29
不好意思,是帖子中写错了~~下到SDRAM中的是NB0
zhengshijie
驱动小牛
驱动小牛
  • 注册日期2003-07-11
  • 最后登录2009-03-18
  • 粉丝1
  • 关注0
  • 积分8分
  • 威望217点
  • 贡献值0点
  • 好评度199点
  • 原创分3分
  • 专家分0分
6楼#
发布于:2007-06-12 18:38
频率没有什么问题,已经很低了。跳转运行函数有没有问题,下载一个别的程序,比如2440test.bin运行也不行吗?写进FLASH后,从FLASH启动呢?
zhengshijie
驱动小牛
驱动小牛
  • 注册日期2003-07-11
  • 最后登录2009-03-18
  • 粉丝1
  • 关注0
  • 积分8分
  • 威望217点
  • 贡献值0点
  • 好评度199点
  • 原创分3分
  • 专家分0分
7楼#
发布于: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
    // DSC_ADR    [9:8]    : Addr drive strength, 0:10mA, 1:8mA, 2:6mA, 3:4mA
    // DSC_DATA    [7:0]    : DATA drive strength, 0:12mA, 1:10mA, 2:8mA, 3:6mA
    rDSC1 = (0x3<<28)|(0x3<<26)|(0xfffff<<0);
//    rDSC1 = (0x0<<28)|(0x0<<26)|(0x00000<<0);    
    // DSC_SCK1    [29:28]    : SCLK1, 0:16mA, 1:12mA, 2:8mA, 3:6mA
    // DSC_SCK0    [27:26]    : SCLK0, 0:16mA, 1:12mA, 2:8mA, 3:6mA
    // DSC_SCKE    [25:24]    : SCLKE, 0:10mA, 1:8mA, 2:6mA, 3:4mA
    // DSC_SDR    [23:22]    : nRAS/nCAS, 0:10mA, 1:8mA, 2:6mA, 3:4mA
    // DSC_NFC    [21:20]    : Nand flash(nFCE,nFRE,nFWE,CLE,ALE), 0:10mA, 1:8mA, 2:6mA, 3:4mA
    // DSC_BE    [19:18]    : nBE[3:0], 0:10mA, 1:8mA, 2:6mA, 3:4mA
    // DSC_WOE    [17:16]    : nBE[3:0], 0:10mA, 1:8mA, 2:6mA, 3:4mA
    // DSC_CS7    [15:14]    : nGCS7, 0:10mA, 1:8mA, 2:6mA, 3:4mA
    // DSC_CS6    [13:12]    : nGCS6, 0:10mA, 1:8mA, 2:6mA, 3:4mA
    // DSC_CS5    [11:10]    : nGCS5, 0:10mA, 1:8mA, 2:6mA, 3:4mA
    // DSC_CS4    [9:8]    : nGCS4, 0:10mA, 1:8mA, 2:6mA, 3:4mA
    // DSC_CS3    [7:6]    : nGCS3, 0:10mA, 1:8mA, 2:6mA, 3:4mA
    // DSC_CS2    [5:4]    : nGCS2, 0:10mA, 1:8mA, 2:6mA, 3:4mA
    // DSC_CS1    [3:2]    : nGCS1, 0:10mA, 1:8mA, 2:6mA, 3:4mA
    // DSC_CS0    [1:0]    : nGCS0, 0:10mA, 1:8mA, 2:6mA, 3:4mA
zhsk
驱动小牛
驱动小牛
  • 注册日期2006-07-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分723分
  • 威望145点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
8楼#
发布于: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分
9楼#
发布于: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);
这个有问题吗?谢谢
xiyulang
驱动牛犊
驱动牛犊
  • 注册日期2005-09-06
  • 最后登录2010-07-22
  • 粉丝1
  • 关注0
  • 积分7分
  • 威望111点
  • 贡献值0点
  • 好评度64点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2007-06-21 11:42
可能是跳转地址不对
游客

返回顶部