|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
RT1052移植以太网和lwip过程中,) J0 g2 W4 @7 v! I7 @; k) N- W
移植之后,开发板运行报错:6 F: \0 I' I2 [- [0 ?( x9 ~
9 h3 U* \% i+ B; O% b$ B1 LCan not find phy device called "rtt-phy"
; c6 b+ L, O- @% x; A7 u& s检查后发现phy_monitor_thread_entry函数中,调用rt_device_find(“rtt-phy”),而rt_hw_imxrt_eth_init函数中,调用eth_device_init(&(imxrt_eth_device.parent), "e0"),二者使用的设备名称不同,因此执行后find返回的dev==RT_NULL;
. }" E, I1 A2 |; o) S6 s, |自行修改rtt-phy为e0后,依旧报类似错误,debug后,发现dev返回有效,但是dev->ops==null,比对后发现,注册设备时使用的是自定义的结构与rt_device_register函数,而find时,用的是rt_phy_device结构,设备的数据结构好像是对应不上的,尝试修改但是一些使用的函数替代不了,作为一个刚开始使用RT-Thread的人,要完成这个修复难度有些太大了
2 y4 J; j# A! i. s1 z8 ~; u* s |
|