同事移植旧项目的lwip到新的项目上
并做了一些调整,加了些新功能
但是网络一直都有个奇怪的bug
板卡正常设置了mac地址,无论是走交换机还是直接连PC都ping不通,但是只要把mac地址设置成全F就可以ping的通了
好家伙,把他的工程里三层外三层查了个遍
IP地址,子网掩码,网关,端口号,电脑,交换机的设置。。
LWIP的设置与配置,初始化等等查了个底朝天都没有找出来,到底为啥ping不通。。。
结果,最后发现
他居然移植的时候初始化芯片mac的时候遗漏
没有把正确的mac地址录入到stm32的mac控制器里,但是lwip的mac地址却录入了正常的地址,导致mac控制器那里的mac地址应该是全F,所以当协议栈的mac地址和lwip的mac地址都设置为全F的时候,就能够对应上正常工作了
真是够折腾了
所以把这个记录下来,方便后人能够吸取教训