你们好,
我这有一个比较奇怪的问题,希望得到大师们解释,或帮助我的板子出现程序死在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的印制版图位置周边(上下层)没有相关的影响信号都是走的网络信号;