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

    文章

    9024

    浏览量

    153412
  • 看门狗
    +关注

    关注

    10

    文章

    607

    浏览量

    72589
  • W5500
    +关注

    关注

    5

    文章

    46

    浏览量

    18475
  • STM32F405
    +关注

    关注

    0

    文章

    9

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    CW32A030看门狗和SysTick定时器

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

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

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

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

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

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

    这是一个简单的看门狗定时器(WDT)示例,演示了看门狗 API 的用法。 有关看门狗的定义和工作原理,请参阅以下信息。
    的头像 发表于 11-13 17:22 4968次阅读
    小安派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

    TPS3430 具有可编程复位延迟的窗口看门狗定时器数据手册

    TPS3430 是一款独立的窗口看门狗定时器,具有可编程看门狗窗口和可编程看门狗复位延迟,适用于各种应用。TPS3430窗口看门狗可实现 2
    的头像 发表于 04-10 14:23 606次阅读
    TPS3430 具有可编程<b class='flag-5'>复位</b>延迟的窗口<b class='flag-5'>看门狗</b>定时器数据手册

    TPS3430-Q1 具有可编程复位延迟的汽车级窗口看门狗定时器数据手册

    TPS3430-Q1 是一款独立的汽车窗口看门狗定时器,具有可编程看门狗窗口和可编程看门狗复位延迟,适用于汽车应用。TPS3430-Q1 窗口看门狗
    的头像 发表于 04-10 14:15 723次阅读
    TPS3430-Q1 具有可编程<b class='flag-5'>复位</b>延迟的汽车级窗口<b class='flag-5'>看门狗</b>定时器数据手册

    看门狗,你真的会用吗?

    嵌入式系统开发中,看门狗是一种重要的机制,用于在程序异常时自动重启系统,保障其稳定性。本文将深入探讨看门狗及其在程序稳定性中的作用,帮助您更好地理解和应用看门狗技术。看门狗首先需要明确
    的头像 发表于 03-12 11:37 4600次阅读
    <b class='flag-5'>看门狗</b>,你真的会用吗?

    安利给工程师!看门狗相关知识

    适当的参数来确保系统在正常运行和故障场景下都能自动恢复。​ ▼ 看门狗简介 ▼ 看门狗(Watch Dog Timer,WDT) ——是一种监控电路,主要应用于嵌入式系统,目的是为了提高系统的可靠性和稳定性。在看门狗电路的帮助下
    的头像 发表于 12-31 14:29 933次阅读
    安利给工程师!<b class='flag-5'>看门狗</b>相关知识

    抄作业!看门狗定时器必备知识

    Air201在模组内部集成了硬件看门狗,今天就一起来聊聊~ 本文将带你了解看门狗的工作原理、应用架构、定时时间设置、软硬件看门狗的区别,以及看门狗定时器的典型应用场景及关键设计因素等内
    的头像 发表于 12-30 14:44 1097次阅读
    抄作业!<b class='flag-5'>看门狗</b>定时器必备知识

    一文详解看门狗/电压监控芯片规格书

    一、关于一些看门狗、电压监控的疑问?1.什么是看门狗看门狗,又叫Watchdog,本质上来说就是一个定时器电路,一般有一个输入和一个输出,其中输入叫做喂狗,输出一般连接到另外一个部分
    的头像 发表于 12-26 17:18 2216次阅读
    一文详解<b class='flag-5'>看门狗</b>/电压监控芯片规格书

    看门狗复位是否可以唤醒待机模式。

    为什么我进入待机模式后就无法唤醒,看门狗复位唤醒是需要配置什么还是无法唤醒待机模式
    发表于 12-21 15:09