情况是这样的,手头上有一块AM3352的板子,然后刚开始焊接上去,都是没问题的,u-boot、内核和文件系统都可以正常启动。。用了一段时间,出现这种情况,一直停在unompressing Linux… 。我后来换了一个AM3352,又可以正常使用了。 但是,过一段时间又这样了。想请问下,这到底是哪里出了问题?
Steven Liu1:
关于这个问题,我们有个合集专门讨论这种情况:http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/51326.aspx
之前的那个AM3352是坏了么?除了合集中讨论到的情况,你用的是DDR2还是DDR3?确认配置都是稳定吗?特别如果是DDR3,需要做software leveling的,DDR这块有疑点吗?在uncompressing Linux时,大量的内存活动,DDR压力是比较大的,鉴于你有时能起来,有时挂了,在DDR配置上面还是有些顾虑的。
leo chen:
回复 Steven Liu1:
你所谓换了个3352,是换芯片呢,还是换核心板
一般运行到uncompressing Linux 都是内存出了问题,导致无法解压kernel
Lee Jiejia:
回复 leo chen:
换芯片,不是什么核心板,自己做的板子。 但是如果是内存出了问题,为什么我重新焊接了另外一个am3352芯片,然后又可以正常启动了呢?
Lee Jiejia:
回复 Steven Liu1:
我用的是DDR2,之前也有做过两块板,都是用这个DDR2的,也没出现过这种情况。合集里面的情况,基本上都是能完成Linux内核的解压,但是我现在是连解压都完成不了。
Steven Liu1:
回复 Lee Jiejia:
内存只是可能的因素之一,只是建议你排查一下,不是说一定是这里的问题。
回答你刚才所说的问题,如果说内存运行并非稳定的状态,处在一个临界值,那么可能出现的情况是,有时能够成功,有时就是会失败,与你换芯片未必是直接的关系。但不同的芯片,活跃度不一样,在参数特性上肯定不是完全一致的,所以排查内存还是需要的,你用的是DDR3吗?有做过software leveling吗?
Lee Jiejia:
回复 Steven Liu1:
我这边使用的是DDR2,至于software leveling,我没接触过。 关于DDR2内存那边,重新焊接了一遍,也还是不行。我这边也没法确认是不是内存的问题,原本以为uboot可以正常运行,就代表了DDR2没什么问题了。
Jian Zhou:
回复 Lee Jiejia:
U-boot如果能够正常运行,说明DDR没有什么太大问题。
我建议把Linux内核中的RTC部分注释掉看看。
从现象来看,AM335x的焊接问题也不能排除。
kooking:
回复 Jian Zhou:
一般某个模块没有init成功,也会走不下去
可以把static void __init am335x_evm_init(void){}里面的模块尽可能多的去掉,然后一个个增加,看那个会影响
Lee Jiejia:
回复 Jian Zhou:
我这边是只执行到uncompressing Linux…,下面就没有出现任何东西了,包括done。所以,我觉得我的问题跟RTC肯定是没什么关系,因为都没解压完成。其实,关于焊接的问题,我也一直怀疑是,因为手上有三块板,用的是相同的程序,有一块是可以的,另外两块都是这种情况。但是,另外两块,也重焊了很多遍了,也还是这样,实在是太纠结了。
Jian Zhou:
回复 Lee Jiejia:
也就是同样的代码,在某些板子上是能搞正常跑起来的,在其他板子上解压都不行。
我感觉这个和焊接关系比较大,请问你是机器焊接还是手摆焊接啊。另外你的PMU用的是哪颗芯片啊?