我参照utu2440开发板做的板子,网络部分是DM9000AEP+HS9016网络变压器+RJ45 LED插座,在U-BOOT中能识别DM9000AEP的ID,RJ45插座的灯也闪,但PING不通主机,用抓包工具可以抓到DM9000AEP发出到主机的ARP包,但DM9000AEP收不到主机返回的应答包,所以PING不通,也不能TFTP,我跟踪进U-BOOT源码,driver/net/dm9000x.c中的eth_rx函数中:
/* Check packet ready or not, we must check
the ISR status first for DM9000A */
if (!(DM9000_ior(DM9000_ISR) & 0x01)) /* Rx-ISR bit must be set. */
return 0;
加了打印后发现eth_rx每次都是在这里返回,ISR(接收中断寄存器)始终置不了位,路过的帮忙指点下
有奖活动 | |
---|---|
【有奖活动——B站互动赢积分】活动开启啦! | |
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |