You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STM32G070在GPIO中断调用osThreadFlagsSet触发FreeRTOS断言挂起问题

STM32G070平台CMSIS-OS线程标志与中断交互异常问题

问题描述

在STM32G070平台使用CMSIS-OS线程标志与中断服务程序交互时遇到异常:在GPIO上升沿中断内调用osThreadFlagsSet()时,整个程序会卡在FreeRTOS的tasks.c文件第4853行的configASSERT()断言处。

对应断言代码如下:

/* The task should not have been on an event list. */
configASSERT( listLIST_ITEM_CONTAINER( &( pxTCB->xEventListItem ) ) == NULL );

已验证无效的解决方案

目前网上现有解决方案均无法解决该款芯片下的该问题,已尝试以下操作均无效:

  • 配置NVIC优先级分组(STM32G070未提供相关定义或支持)
  • 修改所有任务的优先级
  • 增大栈/堆分配空间

相关说明

我摸索得到的解决方案已附在下方,成功解决了该问题,欢迎大家分析该方案生效的原因,相关内容也可供其他遇到相同问题的开发者参考。


内容的提问来源于stack exchange,提问作者zozwold

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 09:00:05