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

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

3天内不再提示

如何避免Xil_Assert系列宏导致的死循环的情况

YCqV_FPGA_EETre 来源:FPGA开发圈 作者:付汉杰 2020-12-02 16:20 次阅读

在调试模式下,Xil_Assert系列宏会调用Xil_Assert来检查参数是否正常。如果不正常,缺省情况下,没有打印,会进入死循环。

通过调用void Xil_AssertSetCallback(Xil_AssertCallback Routine), 设置回调函数, 可以自己处理失败情况,比如增加打印。

另外也可以修改变量Xil_AssertWait为0,可以避免死循环情况。

责任编辑:xj

原文标题:【工程师分享】避免Xil_Assert系列宏导致的死循环

文章出处:【微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

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

    关注

    0

    文章

    613

    浏览量

    28300
  • ASSERT
    +关注

    关注

    0

    文章

    17

    浏览量

    7217

原文标题:【工程师分享】避免Xil_Assert系列宏导致的死循环

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LWIP多线程强烈建议开启LWIP_ASSERT_CORE_LOCKED,这个在RTT里面要怎么实现?

    LWIP多线程强烈建议开启LWIP_ASSERT_CORE_LOCKED,这个在RTT里面要怎么实现,之前参考网上代码,这样写,压力测试下有概率断言失败 extern sys_mutex_t
    发表于 07-25 06:27

    为什么while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)==RESET)死循环

    为啥while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)==RESET)死循环
    发表于 05-14 06:01

    STM32F107中断死循环的原因?

    STM32F107,中断死循环
    发表于 05-11 06:31

    STM32L使用模拟仿真时,进入SystemClock_Config()后程序一直死循环在等待HSI ready的循环中,为什么?

    返回HAL_TIMEOUT,所以一直死循环。打开RCC->SR设备看到HSION Bit的确设置为1了,但是HSIRDY的确没有变成1 这会是什么原因导致的呢?难道STM32L4系列不支持模拟仿真吗?求各位大神指教~
    发表于 05-09 06:37

    请问HAL函数对Handle有效性的检查为什么不是用assert_param断言?

    )); ...... } 以HAL_SPI_Init为例,hspi参数的检查并没有使用assert_param断言,如果是我实现的话,我会用assert_param(hspi != NULL)实现。一般
    发表于 05-08 07:00

    在freertos中,每个任务都是一个死循环,那么还需要使用看门狗吗?

    在freertos中,每个任务都是一个死循环,那么还需要使用看门狗吗?该怎么使用?
    发表于 05-07 06:55

    聊聊MCU死循环,用for(;;)还是while(1)?

    首先,问大家一个问题:你们写单片机程序【死循环】时,喜欢用for(;;)还是while(1)?快来为你喜欢用的【死循环】打call,评论区等你哦~一位工程师发现,国外工程师在给demo在做死循环时用
    的头像 发表于 04-29 08:10 1095次阅读
    聊聊MCU<b class='flag-5'>死循环</b>,用for(;;)还是while(1)?

    如何在if和assert中做选择

    的?! 看来,有必要先简单说一下 assert 断言。 assert() 的原型是: void assert(int expression); 1. 如果的参数求值结果为非零
    发表于 04-08 06:13

    printf在keil5的AC6编译器下运行进入死循环的原因?

    Initialization ...n\");把信息显示在屏幕上,用AC5编译时运行正常,但是编译速度太慢;而用AC6编译时,速度快,但运行出现死循环(更改库编译都能通过),这个定义
    发表于 04-07 06:46

    为何国外工程师偏爱使用for(;;)来实现MCU死循环

    一位工程师发现,国外工程师在给demo在做死循环时用的是for(;;),而不是常用的while(1)。这仅仅是个人习惯的问题,还是有更深层次的含义?
    发表于 04-01 11:26 514次阅读
    为何国外工程师偏爱使用for(;;)来实现MCU<b class='flag-5'>死循环</b>?

    STM32F412RET6串口轮询发送阻塞等待TC,导致程序陷入死循环怎么解决?

    测试时,发现CPU程序运行卡死了,通过STM32 ST-LINK Utility工具,排查到了程序陷入死循环
    发表于 03-21 07:51

    编写裸机Bootloader有什么办法判断APP是否有效,从而避免重复跳入导致复位再跳入的情况

    编写裸机Bootloader有什么办法判断APP是否有效,从而避免重复跳入导致复位再跳入的情况
    发表于 02-19 06:19

    如何避免PLC程序卡死呢?

    编写稳定的程序:编写良好的、稳定的PLC程序是避免程序卡死的关键。确保程序逻辑清晰、简洁,并遵循编程最佳实践。避免死循环、逻辑错误和冲突的发生。
    的头像 发表于 01-26 09:14 563次阅读

    为什么HashMap会产生死循环呢?

    死循环问题发生在 JDK 1.7 版本中,造成这个问题主要是由于 HashMap 自身的运行机制,加上并发操作,从而导致死循环
    的头像 发表于 12-21 09:06 650次阅读
    为什么HashMap会产生<b class='flag-5'>死循环</b>呢?

    C语言assert(断言)简介

    assert的功能,条件为真,程序继续执行;如果断言为假(false),则程序终止。
    的头像 发表于 11-17 16:33 1083次阅读
    C语言<b class='flag-5'>assert</b>(断言)简介