严重声明:本人以无野心搞其他,此篇是作为一名业余网络爱好者所学所遇所想!学习交流之用,与工作无关。亦没有他心。实为学习进程之步骤。无论学习还是工作都要认真对待。工作就是工作。爱好永远是爱好。泾渭分明了。
首先要致谢Trey Parker ,是他推荐的一篇帖子,解开了3个日夜来的困惑。
最近在焊接MII的PHY芯片的时候总是满心欢喜的希望自己焊接完毕一ping就可以通了。但是万万没想到的是盼来了time out 让我甚为懊恼。一个小小的PHY芯片怎么会这么难搞?而且以前我都是写好了程序,调试好了的怎么做了板子回来焊上就不工作了?难道我硬件挫成狗了么?
程序是早已经写好了,有一个单独的UDP发送线程点了一个灯100MS闪烁一次,可是连这个灯也不闪烁。难不成单片机都不跑?可是程序已然是烧写了,应该没有问题,于是傻乎乎的查找BOOT引脚。一看是MAIN FLASH,放心了。由于没有打印信息所以直接上万能的debug.
各种怀疑阶段:
1、是不是原理图搞错了?
2、难道是没法和PHY通信?
3、CPU程序跑着呢?
4、是不是还有其他原因?
纠结阶段。。。。。。。
debug发现程序在这里等待
哦原来是这样。这是操作系统启动之前的网卡PHY初始化配置里面。卡在这里,操作系统没有机会加载。所以线程没有运行起来。
于是乎打开PHY的手册找到BSR的寄存器
一切了然,于是果断插好网线&#x