|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
RT1052移植以太网和lwip过程中,
$ R( h. F3 O5 L, U0 i0 [移植之后,开发板运行报错:
$ w" P- h8 A* `& H) P7 {# W, e; V: n! z/ y9 _* G1 f6 l
Can not find phy device called "rtt-phy"
3 W/ S5 \* a" @) A& O: C检查后发现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;
! L/ F5 h7 P, x8 P自行修改rtt-phy为e0后,依旧报类似错误,debug后,发现dev返回有效,但是dev->ops==null,比对后发现,注册设备时使用的是自定义的结构与rt_device_register函数,而find时,用的是rt_phy_device结构,设备的数据结构好像是对应不上的,尝试修改但是一些使用的函数替代不了,作为一个刚开始使用RT-Thread的人,要完成这个修复难度有些太大了! Z$ |, b" e7 m3 m* r. M/ D) ?
|
|