手上的电路板是STM32F405RG+W5500,以前都是自己写的驱动,这次尝试使用了wiznet软件包,但是每次插上网线,有些低优先级的线程都会卡顿十几秒,由于看门狗是在空闲线程喂狗的(看门狗设的3秒触发),所以导致板子一插网线就重启。
后来经过分析,发现卡住的是workqueue线程,然后全局搜索发现是sal里提交的工作队列函数卡住,一步步捋出来的顺序如下:结论就是因为wizchip_sendto这个函数卡住导致。
wiz_link_status_thread_entry->netdev_low_level_set_link_status->sal_check_netdev_internet_up->check_netdev_internet_up_work->wiz_gethostbyname->DNS_run->wizchip_sendto。
之后在图上的位置加了延时,测试不会卡死了。


大概翻了下,有很多地方都没有加延时,wiznet包坑太多,举个例子如下,不一一说明了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
驱动器
+关注
关注
54文章
9116浏览量
156515 -
看门狗
+关注
关注
10文章
611浏览量
73200 -
W5500
+关注
关注
5文章
46浏览量
18728 -
STM32F405
+关注
关注
0文章
9浏览量
4382
发布评论请先 登录
相关推荐
热点推荐
探秘MAX6814:5引脚看门狗定时器电路的实用指南
的低功耗看门狗电路。 文件下载: MAX6814.pdf 一、概述 MAX6814能够有效监控系统的软件代码执行情况,大大提高系统的可靠性。当看门狗输入检测到转换沿时,内部的看门狗定时
SGM823A:集复位、看门狗和手动复位功能于一体的微处理器监控电路
SGM823A:集复位、看门狗和手动复位功能于一体的微处理器监控电路 在电子设备的设计中,微处理器的稳定运行至关重要。SG Micro Corp推出的SGM823A微处理器监控电路,集成了复位
SGM823:集成复位、看门狗和手动复位功能的微处理器监控电路
SGM823:集成复位、看门狗和手动复位功能的微处理器监控电路 在电子设计领域,微处理器的稳定运行至关重要。SGM823作为一款功能强大的微处理器监控电路,为系统的可靠性提供了有力保障。今天,我们
低成本上电复位与看门狗控制器MAX698/MAX699:设计与应用解析
低成本上电复位与看门狗控制器MAX698/MAX699:设计与应用解析 在电子系统中,上电复位和看门狗功能对于保障系统的稳定运行至关重要。MAX698/MAX699作为低成本的解决方案
【瑞萨RA × Zephyr评测】多线程和看门狗
本文章旨在评估使用 Zephyr RTOS 在 Renesas FPB-RA6E2 开发板上实现多线程调度与硬件看门狗功能的应用。评估内容包括任务调度、看门狗初始化流程、主程序逻辑的详细解析,以及实验现象与数据分析。
什么是ADC模拟看门狗?
模拟看门狗功能,支持将 ADC 转换结果与用户设定的阈值进行比较,支持上阈值、下阈值、区间值比较,通过阈值寄存器 ADC_VTH 和 ADC_VTL 设置比较阈值。
模拟看门狗功能只在单通道模式
发表于 12-12 06:15
中科芯CKS32F107XX系列MCU的独立看门狗介绍
安全性、时间精确性和使用灵活性方面变现得非常优秀。两个看门狗定时器单元都可用来检测由软件错误引起的故障,具体表现为当计数器达到给定的超时值或未能在指定时间窗口内刷新计数器的值,会触发系统复位。
中科芯CKS32F107XX系列MCU的窗口看门狗介绍
中科芯CKS32F107xx系列产品内部提供两个看门狗定时器单元,独立型看门狗IWDG(Independent Watchdog)和窗口型看门狗WWDG(Window Watchdog),本文主要介绍WWDG的应用,关于IWDG
CW32A030看门狗和SysTick定时器
CW32A030的看门狗有独立看门狗和窗口看门狗如下:
1、 独立看门狗(IWDT)
独立看门狗定时器(IWDT) 使用专门的内部RC 时
发表于 11-27 07:52
“喂狗”的艺术:看门狗不叫,才是系统好
程序的。现实里的狗会追飞盘,PLC里的看门狗追的是跑飞的程序。 本质上是一个计时器,用于监控程序的运行状态。主程序在正常运行时,需要定期“喂狗”(即重置计时器)。一旦程序跑飞或陷入死循环,导致无法及时喂狗,
看门狗定时器、复位源、异常处理机制科普
在嵌入式开发中,系统一旦“跑飞”,工程师最怕的不是bug,而是程序卡死无人知。这时,芯片自身的自我保护机制就至关重要。看门狗、复位源和异常处理机制,是保证系统可靠性的三大基石。本文带你梳理清楚它们
RVMCU课堂「21」: 手把手教你玩转RVSTAR—看门狗定时器篇
设置一个超时时间,然后程序在超时时间内定期对定时器进行重载操作(也叫做“喂狗”操作),从而避免正常程序发生复位。
当系统发生意料之外的故障使得软件跑飞,看门狗定时器无法被按时重载时,看门狗
发表于 10-29 06:01
如果在配置位中启用了看门狗(WDT)功能,是否会影响ISP升级过程呢?
Loader时需要在配置位中启用看门狗(WDT)功能,请务必在ISP Boot Loader中添加看门狗重置功能;否则,当ISP运行时间超过26.3秒时,由于升级时间过长,超过看门狗
发表于 08-18 08:26
wiznet当网线连接后会持续卡顿导致看门狗复位的问题分析
评论