打印
[STM32G4]

常见注意事项

[复制链接]
187|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
米多0036|  楼主 | 2024-12-6 21:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
常见注意事项
堆内存管理
FreeRTOS需要堆内存分配,确保 configTOTAL_HEAP_SIZE 配置足够。
推荐使用 Heap_4.c 或 Heap_5.c,支持动态分配和释放。
栈溢出保护
启用任务栈溢出检测(configCHECK_FOR_STACK_OVERFLOW),避免任务栈不足导致系统崩溃:
c
复制代码
#define configCHECK_FOR_STACK_OVERFLOW  2
优先级反转问题
使用优先级继承的互斥信号量(xSemaphoreCreateMutex)解决。
定时器任务
使用FreeRTOS软件定时器替代硬件定时器:
c
复制代码
TimerHandle_t timer = xTimerCreate("Timer", pdMS_TO_TICKS(1000), pdTRUE, 0, TimerCallback);
xTimerStart(timer, 0);
调试FreeRTOS
STM32CubeIDE支持FreeRTOS的任务调试(需要启用configUSE_TRACE_FACILITY)。

使用特权

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

本版积分规则

127

主题

1391

帖子

0

粉丝