阅读:2055回复:10
2440内核从USB下到SDRAM运行问题
大家好,最近做了一块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中运行都是这样的情况,这是为什么呢,请大家帮忙下,谢谢 |
|
沙发#
发布于:2007-05-30 13:08
没人回答啊 自己先顶一个啊,大家帮帮忙啊
|
|
板凳#
发布于:2007-05-30 18:09
EBOOT主频是多少,如果你的NK以前是跑过没问题的话,就还是可能跟SDRAM的性能有关。跟你之前的那个帖子里是一样的原因,调整主频和总线时钟MEMCLK试试。
|
|
地板#
发布于: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,您看看这样有没有问题,谢谢 |
|
地下室#
发布于:2007-06-11 22:17
建议先弄清楚NK.bin和NK.nb0的区别,能下载到RAM运行的是NK.nb0
|
|
5楼#
发布于:2007-06-12 14:29
不好意思,是帖子中写错了~~下到SDRAM中的是NB0
|
|
6楼#
发布于:2007-06-12 18:38
频率没有什么问题,已经很低了。跳转运行函数有没有问题,下载一个别的程序,比如2440test.bin运行也不行吗?写进FLASH后,从FLASH启动呢?
|
|
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 |
|
8楼#
发布于:2007-06-14 14:36
引用第6楼zhengshijie于2007-06-12 18:38发表的 : 非常感谢zhengshijie师兄的帮忙.跳转函数没有问题的因为同样的BOOTLOADER和NK在另一块板子上是可以运行起来的.把NK.BIN写进FLASH后运行,当跳到NK去运行时候会出现三种情况,一是串口什么消息都没有就停在那里了,或者当跳到那里后就出现Dabort exception!!!,或者就是出现Undefined instruction exception!!!.所以可以确定程序肯定是跑飞了,现在怀疑是不是SDRAM的布线可能有点问题跑不了那么高的频率,想降低下SDRAM的总线时钟,但是不知道应该在哪里修改,请师兄指点 |
|
9楼#
发布于:2007-06-14 14:38
引用第7楼zhengshijie于2007-06-12 18:45发表的 : 我找不到这个地方在哪里~~~~我只是在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); 这个有问题吗?谢谢 |
|
10楼#
发布于:2007-06-21 11:42
可能是跳转地址不对
|
|