你们好,
我这有一个比较奇怪的问题,希望得到大师们解释,或帮助我的板子出现程序死在starting kernel ,(uboot启动正常停在引导内核starting kernel ………. )经过网上的分析,别人出现的问题,解释为串口、传参、机器码等问题,我这是同一批次的板子,有一块能正常启动,而且能在同一串口打印信息正常。
经排查突然发现需要网卡初始化完后,有问题的板卡能正常启动。(网卡初始化完是指用网线将板卡与主机相连),而且屡试不爽。
就这个现象从两条路去排查故障:一条软件加入调试手段,另外一条通过硬件卸掉一部分模块(网络模块);
从理论上分析
软件调试手段调试方法:在head.s head-common.s 中添加点灯程序;
在第454 MCR P15,0,r0,c1,c0,0 之前点灯可以实现亮灯程序 ,然而在之后点灯程序无法执行亮灯,并且无法引导kernel; (后面注释有点问题,通过点灯是bit2、bit3)。
另外一条通过硬件卸掉一部分模块:
将需网卡启动正常的板卡称为板卡2,无需网卡启动的板卡称为板卡1;跟网络相关的电路如下:
1、 将需要网卡启动的板卡2与DM8168相关的电路断开,具体断开方式如下:RSTOUTn常为高使能ET1011网络芯片;断开MDIO、MDCLK、ENET_INTn、GMIO_CRS、GMIO_COL、GMIO_RCLK、GMIO_RXDV、GMIO_RXER、GMIO_TXEN、GMIO_GMTCLK,都不影响启动kernel;
2、 而断开GMIO_TCLK影响启动kernel;
3、 将无需网卡启动的板卡1做测试直接断开GMIO_TCLK,仍不影响启动kernel;
4、 将需要网卡启动的板卡2进一步测试,断开所有上述信号后,人为添加一个时钟信号(信号源产生占空比50%,Vpp3.0的方波),调节频率从1Mhz调到150Khz试验,板卡2都能正常启动;低于150Khz不能正常启动;
5、 查看了这个GMII0_TCLK的印制版图位置周边(上下层)没有相关的影响信号都是走的网络信号;
Louis:
能否将串口日志打印贴出来看一下?另外,用的是什么软件版本?
jian jerron:
回复 Louis:
你好 附件里面有图片,谢谢!! 软件开发包是dvr 内核2.6.37
Louis:
回复 jian jerron:
你板子的DDR leveling做过没有?另外,你用的DVR RDK是什么版本?
http://processors.wiki.ti.com/index.php/DM816x_C6A816x_AM389x_DDR3_Init
jian jerron:
回复 Louis:
你好,这个怎么理解呢,外部网口的GMII_TXCLK 信号 会影响到内存吗, head.s与head_common.s中反应的问题大概是在开启mmu功能后就不执行,一直等待GMII_TXCLK 信号。 我们用的是内存芯片是MTH47H128M16HG-3iT ,另外有没有怀疑硬件问题,比如说上电时序会影响,另外电源的稳定性(基本测过电源波动不是很大基本满足);
DDR leveling 好像没做过,用的是32bit 这个是说的关于内存寄存器的配置吧,专门根据芯片自己填写过,而且沿用过之前别人用同样的配置参数 同一款内存
另外做过DDR2 的test 用 ccs 官网上下的测试包,都OK
RDK版本是3.0
jiapeng chen:
回复 jian jerron:
你好,我也遇到了你的问题,请问你解决了么?我也是只有插上了网线,板卡内核才能启动