GD32F303移植Freertos程序会卡死在vtaskdelay里面
如题,芯片型号是GD32F303RGT6,使用官方的GD32 Embedded Builder创建的工程,移植Freertos后调用启动线程调用vtaskdelay函数,程序会在freertos内核源码的timers.c文件中的portTASK_FUNCTION( prvTimerTask, pvParameters )中一直循环,调试时发现调用vtaskdelay后sysTick中断被停止了 检查SysTick中断配置是否正确!GD32F303移植Freertos程序会卡死在vtaskdelay里面
在vtaskdelay函数中调用的xTaskResumeAll返回是false,任务调度恢复不了 提高prvTimerTask任务的优先级。 flycamelaaa 发表于 2025-3-24 18:00提高prvTimerTask任务的优先级。
提高了但是没用还是会卡死 固件版本更新到最新。 xTaskResumeAl是什么函数? 检查 FreeRTOS 的 port.c 文件中的 SysTick_Handler() 实现,确保 SysTick 中断处理程序调用了 xPortSysTickHandler()。 空工程只跑这个也会卡死? 请问现在解决了吗?谢谢
GD32F303移植Freertos程序会卡死在vtaskdelay里面
可能是因为 FreeRTOS 的 SysTick 中断未正确配置或被其他代码禁用了,导致 vTaskDelay() 调用后内核定时器停止,程序卡在 prvTimerTask 循环中。请确认启动代码中正确启用了 SysTick_Handler 并且中断优先级设置符合 FreeRTOS 要求,同时避免其他库函数重置或关闭 SysTick,确保系统全局中断已使能,这样 FreeRTOS 的调度时钟才能正常运行。 解决了吗,问题有始有终
页:
[1]