|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
RT1052移植以太网和lwip过程中,
: M# x3 y' b' S" b8 P移植之后,开发板运行报错:
% Y' S. L8 S5 b7 W* y' u5 f7 ?( O6 j: m, T5 g" H/ q
Can not find phy device called "rtt-phy"7 E) U4 t7 E7 X& `) i, ]1 p
检查后发现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;9 m7 c/ F, y! E0 {
自行修改rtt-phy为e0后,依旧报类似错误,debug后,发现dev返回有效,但是dev->ops==null,比对后发现,注册设备时使用的是自定义的结构与rt_device_register函数,而find时,用的是rt_phy_device结构,设备的数据结构好像是对应不上的,尝试修改但是一些使用的函数替代不了,作为一个刚开始使用RT-Thread的人,要完成这个修复难度有些太大了( T; V8 O4 B+ |: Q; d; y- S
|
|