![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FreeRTOS
文章平均质量分 60
实时操作系统,FreeRTOS
薇远镖局
态度决定一切!
展开
-
FreeRTOS 任务栈大小确定及其溢出检测方法【杂记】
1、FreeRTOS情况下:任务栈设置为什么是堆中的?因为我们采用的就是动态创建任务的方式。如果静态创建,就和我们自己开辟的空间有关,通常静态创建任务用数组作为容器,但是通常静态创建的方式我们都不使用。FreeRTOS的情况下,任务栈是从FreeRTOSConfig.h文件中定义的HEAP空间申请。2、FreeRTOS情况下:系统栈设置在FreeRTOS情况下,在KEIL中设置的栈大小有了一个新的名字叫系统栈空间(在FreeRTOS情况下,任务栈是不使用这里的空间的。转载 2023-09-30 23:47:54 · 4744 阅读 · 1 评论 -
FreeRTOS — 任务堆栈使用情况的检测方法【杂记】
使用时,创建的每一个任务都需要分配任务的堆栈空间,这些堆栈空间一般都是使用者根据任务的情况大致分配的。使用者往往不能直接知道分配的任务堆栈空间是否足够任务运行使用,有时候可能会不够,在运行过程中就出现了堆栈溢出,导致程序出现各种各样的奇怪问题,出现问题之后可能一时半会还难以找出来。这种情况如果能有一种检测手段能够知道任务在运行过程中堆栈的使用情况或者剩余情况,那就可以很好的把握任务堆栈的情况,也可以在一开始就避免堆栈溢出这样的问题发生,将来项目产品上线了也避免了这样的风险存在!值得开心的是,转载 2023-09-30 19:01:57 · 1067 阅读 · 0 评论 -
STM32H7串口中断调用FreeRTOS API,导致程序卡死【杂记】
在网络上搜寻了相关的问题,看一下其他人有没有碰到这个问题。实际上有较多CSDN的博主都碰到这个问题,但能把问题说清楚的博主真的很少。这篇CSDN博文解决了我的问题,只是中断的类型跟我不一样(我使用的是串口中断)。转载 2023-09-30 14:08:08 · 1143 阅读 · 1 评论 -
FreeRTOS 任务栈设置【杂记】
对于裸机编程,栈空间的大小分配也非常重要。局部变量,函数调用时的现场保护和返回地址,函数的形参,进入中断函数前和中断嵌套等都需要栈空间,栈空间定义小了会造成系统崩溃(一般情况下会跳转到一个异常中断内)。如图所示:裸机的情况下,STM32F103工程中栈大小的配置文件。转载 2023-09-30 11:16:37 · 332 阅读 · 0 评论 -
【STM32】FreeRTOS踩坑【杂记】
【代码】【STM32】FreeRTOS踩坑【杂记】转载 2023-09-30 10:50:33 · 436 阅读 · 0 评论 -
stm32 cubemx freertos 中断二值信号量卡死问题【杂记】
解决方案: 按键抢占优先级太高了,导致rtos不能抢占, 所以改低抢占优先级为7就可以。功能: 按键中断里面释放二值信号量, 然后点亮LED灯。问题: 卡在xSemaphoreGiveFromISR。转载 2023-09-29 20:58:36 · 699 阅读 · 0 评论 -
FreeRTOS两个死机原因(中断调用接口异常)【杂记】
【代码】FreeRTOS两个死机原因(中断调用接口异常)【杂记】原创 2023-09-29 18:44:31 · 1764 阅读 · 0 评论 -
FreeRTOS 任务优先级 【杂记】
特别注意:IRQ 任务和高优先级任务必须设置为阻塞式(调用消息等待或者延迟等函数即可),只有这样,高优先级任务才会释放 CPU 的使用权,,从而低优先级任务才有机会得到执行。无论何时中断的优先级都是最高的,中断的优先级永远高于任何任务的优先级,即任务在执行的过程中,中断来了就开始执行中断服务程序。IRQ 任务:IRQ 任务是指通过中断服务程序进行触发的任务,此类任务应该设置为所有任务里面优先级最高的。0为最高,15为最低。2、用户配置任务的优先级数值越小,那么此任务的优先级越低,空闲任务的优先级是 0。原创 2023-06-17 20:44:46 · 2099 阅读 · 0 评论 -
FreeRTOS 任务函数里面的死循环
任务函数是一个无限循环且不带返回值的函数原创 2022-06-08 12:20:08 · 2696 阅读 · 0 评论