[STM32F4] osKernelStart出现错误

[复制链接]
354|12
梧桐uuu 发表于 2025-9-11 11:22 | 显示全部楼层 |阅读模式
使用CubeIDE调试FREERTOS时,osKernelStart出现错误。遇到了奇怪的问题。

当我运行代码时,一切都正常。但在调试模式下运行时会发现osKernelStart()执行失败。

该如何解决?

补充信息:有时重启CubeIDE可以临时解决问题,但只能生效一次。

classroom 发表于 2025-9-11 15:41 | 显示全部楼层
调试模式下时钟可能未正确初始化。
cr315 发表于 2025-9-11 16:42 | 显示全部楼层
在调试模式下,检查RCC->CFGR寄存器值,看时钟树配置是否正确。
duo点 发表于 2025-9-11 17:43 | 显示全部楼层
可能是中断优先级分组冲突。
elephant00 发表于 2025-9-11 15:44 | 显示全部楼层
检查FreeRTOSConfig.h中的configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY是否与硬件匹配
flycamelaaa 发表于 2025-9-11 19:44 | 显示全部楼层
堆栈溢出?
jcky001 发表于 2025-9-11 20:46 | 显示全部楼层
在FreeRTOSConfig.h中增大configTOTAL_HEAP_SIZE,用CubeIDE的内存查看器检查堆区域是否被意外修改。
onlycook 发表于 2025-9-11 21:46 | 显示全部楼层
在vTaskStartScheduler()前调用portGET_FREE_HEAP_SIZE(),看剩余堆空间是否充足。
powerantone 发表于 2025-9-11 22:47 | 显示全部楼层
调试器可能暂停中断或修改寄存器状态,导致FreeRTOS启动失败。
probedog 发表于 2025-9-11 21:18 | 显示全部楼层
若使用FPU但未启用,可能导致异常。
stormwind123 发表于 2025-9-11 18:09 | 显示全部楼层
检查启动文件和链接脚本,调试模式下链接脚本可能将变量或堆栈放置在错误地址。
七毛钱 发表于 2025-9-11 21:00 | 显示全部楼层
调试模式下独立看门狗可能触发复位,需在初始化时禁用或喂狗。
内政奇才 发表于 2025-9-11 20:00 | 显示全部楼层
外设冲突?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

58

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部