0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

wiznet当网线连接后会持续卡顿导致看门狗复位的问题分析

冬至子 来源:小白小白小白白 作者:小白小白小白白 2023-10-16 12:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

手上的电路板是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。

之后在图上的位置加了延时,测试不会卡死了。

1.jpg

2.jpg

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

1.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动器
    +关注

    关注

    54

    文章

    9116

    浏览量

    156515
  • 看门狗
    +关注

    关注

    10

    文章

    611

    浏览量

    73200
  • W5500
    +关注

    关注

    5

    文章

    46

    浏览量

    18728
  • STM32F405
    +关注

    关注

    0

    文章

    9

    浏览量

    4382
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探秘MAX6814:5引脚看门狗定时器电路的实用指南

    的低功耗看门狗电路。 文件下载: MAX6814.pdf 一、概述 MAX6814能够有效监控系统的软件代码执行情况,大大提高系统的可靠性。看门狗输入检测到转换沿时,内部的看门狗定时
    的头像 发表于 03-26 14:50 171次阅读

    SGM823A:集复位看门狗和手动复位功能于一体的微处理器监控电路

    SGM823A:集复位看门狗和手动复位功能于一体的微处理器监控电路 在电子设备的设计中,微处理器的稳定运行至关重要。SG Micro Corp推出的SGM823A微处理器监控电路,集成了复位
    的头像 发表于 03-23 17:20 613次阅读

    SGM823:集成复位看门狗和手动复位功能的微处理器监控电路

    SGM823:集成复位看门狗和手动复位功能的微处理器监控电路 在电子设计领域,微处理器的稳定运行至关重要。SGM823作为一款功能强大的微处理器监控电路,为系统的可靠性提供了有力保障。今天,我们
    的头像 发表于 03-23 17:20 629次阅读

    低成本上电复位看门狗控制器MAX698/MAX699:设计与应用解析

    低成本上电复位看门狗控制器MAX698/MAX699:设计与应用解析 在电子系统中,上电复位看门狗功能对于保障系统的稳定运行至关重要。MAX698/MAX699作为低成本的解决方案
    的头像 发表于 02-27 15:55 371次阅读

    【瑞萨RA × Zephyr评测】多线程和看门狗

    本文章旨在评估使用 Zephyr RTOS 在 Renesas FPB-RA6E2 开发板上实现多线程调度与硬件看门狗功能的应用。评估内容包括任务调度、看门狗初始化流程、主程序逻辑的详细解析,以及实验现象与数据分析
    的头像 发表于 01-10 10:23 2660次阅读
    【瑞萨RA × Zephyr评测】多线程和<b class='flag-5'>看门狗</b>

    什么是ADC模拟看门狗

    模拟看门狗功能,支持将 ADC 转换结果与用户设定的阈值进行比较,支持上阈值、下阈值、区间值比较,通过阈值寄存器 ADC_VTH 和 ADC_VTL 设置比较阈值。 模拟看门狗功能只在单通道模式
    发表于 12-12 06:15

    中科芯CKS32F107XX系列MCU的独立看门狗介绍

    安全性、时间精确性和使用灵活性方面变现得非常优秀。两个看门狗定时器单元都可用来检测由软件错误引起的故障,具体表现为计数器达到给定的超时值或未能在指定时间窗口内刷新计数器的值,会触发系统复位
    的头像 发表于 11-28 14:51 4014次阅读
    中科芯CKS32F107XX系列MCU的独立<b class='flag-5'>看门狗</b>介绍

    中科芯CKS32F107XX系列MCU的窗口看门狗介绍

    中科芯CKS32F107xx系列产品内部提供两个看门狗定时器单元,独立型看门狗IWDG(Independent Watchdog)和窗口型看门狗WWDG(Window Watchdog),本文主要介绍WWDG的应用,关于IWDG
    的头像 发表于 11-28 14:48 4318次阅读
    中科芯CKS32F107XX系列MCU的窗口<b class='flag-5'>看门狗</b>介绍

    CW32A030看门狗和SysTick定时器

    CW32A030的看门狗有独立看门狗和窗口看门狗如下: 1、 独立看门狗(IWDT) 独立看门狗定时器(IWDT) 使用专门的内部RC 时
    发表于 11-27 07:52

    “喂狗”的艺术:看门狗不叫,才是系统好

    程序的。现实里的会追飞盘,PLC里的看门狗追的是跑飞的程序。 本质上是一个计时器,用于监控程序的运行状态。主程序在正常运行时,需要定期“喂狗”(即重置计时器)。一旦程序跑飞或陷入死循环,导致无法及时喂狗,
    的头像 发表于 11-25 10:50 432次阅读
    “喂狗”的艺术:<b class='flag-5'>看门狗</b>不叫,才是系统好

    既然有独立看门狗了,为啥还要窗口看门狗(WWDT),窗口看门狗的特色是什么?

    既然有独立看门狗了,为啥还要窗口看门狗(WWDT),窗口看门狗的特色是什么?
    发表于 11-21 06:42

    看门狗定时器、复位源、异常处理机制科普

    在嵌入式开发中,系统一旦“跑飞”,工程师最怕的不是bug,而是程序卡死无人知。这时,芯片自身的自我保护机制就至关重要。看门狗复位源和异常处理机制,是保证系统可靠性的三大基石。本文带你梳理清楚它们
    的头像 发表于 11-17 10:53 1688次阅读
    <b class='flag-5'>看门狗</b>定时器、<b class='flag-5'>复位</b>源、异常处理机制科普

    小安派BW21-CBV-Kit入门教程之看门狗简介

    这是一个简单的看门狗定时器(WDT)示例,演示了看门狗 API 的用法。 有关看门狗的定义和工作原理,请参阅以下信息。
    的头像 发表于 11-13 17:22 5215次阅读
    小安派BW21-CBV-Kit入门教程之<b class='flag-5'>看门狗</b>简介

    RVMCU课堂「21」: 手把手教你玩转RVSTAR—看门狗定时器篇

    设置一个超时时间,然后程序在超时时间内定期对定时器进行重载操作(也叫做“喂狗”操作),从而避免正常程序发生复位系统发生意料之外的故障使得软件跑飞,看门狗定时器无法被按时重载时,看门狗
    发表于 10-29 06:01

    如果在配置位中启用了看门狗(WDT)功能,是否会影响ISP升级过程呢?

    Loader时需要在配置位中启用看门狗(WDT)功能,请务必在ISP Boot Loader中添加看门狗重置功能;否则,ISP运行时间超过26.3秒时,由于升级时间过长,超过看门狗
    发表于 08-18 08:26