|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
RT1052移植以太网和lwip过程中,
: i, Q* k! O% A移植之后,开发板运行报错:+ `; Y4 ^; E- J- y' M" h
0 s) q3 L" I, Q( \; ~Can not find phy device called "rtt-phy"
6 [* g1 S o) y; r' g, |$ ~检查后发现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;
' \* a- [: C- _+ t; l自行修改rtt-phy为e0后,依旧报类似错误,debug后,发现dev返回有效,但是dev->ops==null,比对后发现,注册设备时使用的是自定义的结构与rt_device_register函数,而find时,用的是rt_phy_device结构,设备的数据结构好像是对应不上的,尝试修改但是一些使用的函数替代不了,作为一个刚开始使用RT-Thread的人,要完成这个修复难度有些太大了
$ L" T" I0 b% m/ P+ d% j, x- }: j |
|