嵌入式技术论坛
直播中

杨福林

8年用户 1590经验值
私信 关注
[问答]

求助STM32F207的开发板跑RTT出bug

准备使用官方的STM32F207的开发板跑RTT,目前发现官方的驱动+官方的LWIP支持的时候里面如果系统上电的同时网线并没有插到开发板的话会造成ETH_BSP_Config()里面出现超时无法初始化,但是超时后程序能够继续跑下去,在这种情况下就算以后把网线插上,也不会正常连接(这个我能理解,因为前面初始化都超时了,没有正确初始化)。

但是这种情况下我应该需要找到一个入口,在插入网线后在操作系统的任务里面调用ETH_BSP_Config()进行初始化,但是目前找不到这样的一个入口,否则这样就没有办法在现场用了,我不能保证每次系统上电的时候都连着网线,很多时候都是在需要连接网线的时候进行连接,而不是在一开始就连上了网线。。。

前面看到有个兄弟的帖子也说明了这种情况,大家有好的思路吗??

回帖(4)

杨平

2022-4-21 15:13:21
修改跳过与PHY相关的部分.让MAC按默认参数工作.

如果需要,打开PHY的中断,让插拔网线时更新PHY的状态.
举报

杨福林

2022-4-21 15:13:29
谢谢您的指导,我学习下,按照您介绍的方式测试下看看。。。
举报

张亮

2022-4-21 15:13:39
我试过,在初始化超时后,强制继续向下初始化(而不是有一个超时就退出初始化),这样似乎是没有问题的。开机不带网线,开机后连上网线正常,去掉网线再连上仍然正常。。。。。。
举报

杨福林

2022-4-21 15:13:47
目前可以按照默认的例子来做,使用低优先级的任务初始化所有的组件,把网络的初始化放在最后,只有等网络初始化成功后再接着初始化与网络相关的应用,目前测试效果还不错,RT-Thread的设计还是不错的,希望有更多的产品采用这个操作系统。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分