打印

GD32F303移植Freertos程序会卡死在vtaskdelay里面

[复制链接]
733|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
honghong=|  楼主 | 2025-3-24 16:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,芯片型号是GD32F303RGT6,使用官方的GD32 Embedded Builder创建的工程,移植Freertos后调用启动线程调用vtaskdelay函数,程序会在freertos内核源码的timers.c文件中的portTASK_FUNCTION( prvTimerTask, pvParameters )中一直循环,调试时发现调用vtaskdelay后sysTick中断被停止了

使用特权

评论回复
沙发
laocuo1142| | 2025-3-24 16:43 | 只看该作者
检查SysTick中断配置是否正确!

使用特权

评论回复
评论
honghong= 2025-3-24 16:55 回复TA
中断应该是没问题的,在中断函数中每隔1s点灯,只要不调用vtaskdelay,中断一直正常运行,点灯间隔时间用示波器打过,是正常的 
板凳
honghong=|  楼主 | 2025-3-24 16:57 | 只看该作者

GD32F303移植Freertos程序会卡死在vtaskdelay里面

在vtaskdelay函数中调用的xTaskResumeAll返回是false,任务调度恢复不了

使用特权

评论回复
地板
flycamelaaa| | 2025-3-24 18:00 | 只看该作者
提高prvTimerTask任务的优先级。

使用特权

评论回复
5
honghong=|  楼主 | 2025-3-24 19:10 | 只看该作者
flycamelaaa 发表于 2025-3-24 18:00
提高prvTimerTask任务的优先级。

提高了  但是没用  还是会卡死

使用特权

评论回复
6
powerantone| | 2025-3-24 20:23 | 只看该作者
固件版本更新到最新。

使用特权

评论回复
7
丙丁先生| | 2025-3-24 20:30 | 只看该作者
xTaskResumeAl是什么函数?

使用特权

评论回复
8
是你的乱码| | 2025-3-25 16:23 | 只看该作者
检查 FreeRTOS 的 port.c 文件中的 SysTick_Handler() 实现,确保 SysTick 中断处理程序调用了 xPortSysTickHandler()。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝