在调试模式下,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
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
聊聊MCU死循环,用for(;;)还是while(1)?
首先,问大家一个问题:你们写单片机程序【死循环】时,喜欢用for(;;)还是while(1)?快来为你喜欢用的【死循环】打call,评论区等你哦~一位工程师发现,国外工程师在给demo在做死循环时用
如何在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次阅读
STM32F412RET6串口轮询发送阻塞等待TC,导致程序陷入死循环怎么解决?
测试时,发现CPU程序运行卡死了,通过STM32 ST-LINK Utility工具,排查到了程序陷入死循环
发表于 03-21 07:51
编写裸机Bootloader有什么办法判断APP是否有效,从而避免重复跳入导致复位再跳入的情况?
编写裸机Bootloader有什么办法判断APP是否有效,从而避免重复跳入导致复位再跳入的情况。
发表于 02-19 06:19
如何避免PLC程序卡死呢?
编写稳定的程序:编写良好的、稳定的PLC程序是避免程序卡死的关键。确保程序逻辑清晰、简洁,并遵循编程最佳实践。避免死循环、逻辑错误和冲突的发生。
评论