TI中文支持网
TI专业的中文技术问题搜集分享网站

SD卡烧写板子时停在Starting kernel …

起因:公司的产品使用的内存(DDR3)更新。

使用CPU:AM3352

使用内存:K4B4G1646D(原内存K4B4G1646B)  

内存大小:512M

情况:

1。通过xls内存计算工具获取了需要的参数。具体有:

//******************************************************************
//EMIF parameters
//******************************************************************
#define ALLOPP_DDR3_READ_LATENCY    0x06        //RD_Latency = (CL + 2) – 1  
#define ALLOPP_DDR3_SDRAM_TIMING1   0x088CF564  #define ALLOPP_DDR3_SDRAM_TIMING2   0x36D47FE3  #define ALLOPP_DDR3_SDRAM_TIMING3   0x501F8D0F
#define ALLOPP_DDR3_SDRAM_CONFIG    0x61C44B32
#define ALLOPP_DDR3_REF_CTRL        0x0000093B  //303 * 7.8us = 0x93B
#define ALLOPP_DDR3_ZQ_CONFIG       0x50074BE4

 

2。通过以上参数,修改GEL,在CCS上用XDS100V2能顺利测试通过,并通过RATIO工具获取的值计算出了最优值。

3。按最优值和以上参数修改ddr_defs.h的对应参数。

4。编译用于SD卡烧写的u-boot。复制MLO和u-boot.img到Linux的编译目录下,执行build.sh制作了SD卡。

5。用SD卡烧写板子。

6。停在了Starting kernel中。如下图

7。用这个SD卡烧写旧的板(内存是旧的)是可以成功的。

8。另外:新的板还换了emmc,除此之外没有别的了。

请教大神提供一些思路。

Steven Liu1:

我们有个主题帖就是讨论这种案例,可以参考一下:http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/51326.aspx

PS:你使用了AM335x的内部RTC了吗?如果没有的话,建议你参考这个帖子里面的内容做相应修改,我遇到较多的case都是因为这个问题。

yanqing liu1:

回复 Steven Liu1:

你好:

        1。我们的AM335x是使用了RTC的,所以你说的关掉RTC的可能对我们不适用。我们还看了其它帖子,有说电压问题的,我们也测试了,电压是没问题了。这让我们现在非常头疼。

       2。我还想问一个:AM335x 可以跑三星的K4B4G1646D-BCK0吗? DDR3-1600的。我们主频降到600去使用。不知道有没有问题。

Steven Liu1:

回复 yanqing liu1:

是降到400MHz吧?335对于DDR3目前支持的频率点是303MHz和400MHz。

对于那个停在starting kernel的问题,你现在是直接使用SD卡启动码?还是emmc?

我的建议是你先用sd卡boot。换了DDR3,只是修改了uboot,kernel里面应该没怎么动吧?用新的MLO,u-boot.img,和老的kernel,fs启动一下看看,是否能启动成功?

yanqing liu1:

回复 Steven Liu1:

是降到303MHz。

我们使用SD卡启动,用了新的MLO、u-booting和老的kernel。仍然无法启动。还是停在starting kernel …

我跟了一下代码,走到了kernel_entry()这个函数就没了动静。

在SD卡u-boot启动时,如果删掉script.img从而进入命令行。在命令行输入dcache on 的话,就会死机。

zhifu chen:

回复 Steven Liu1:

那个文章对于3.14.43内核无该设置项,怎么办呢,System Type –> TI OMAP Implementations –> Low-level debug console 

赞(0)
未经允许不得转载:TI中文支持网 » SD卡烧写板子时停在Starting kernel …
分享到: 更多 (0)