FreeRtos
文章平均质量分 86
从0开FreeRTOS代码
典则
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
STM32FreeRtos入门(五)——同步互斥与通信
本文介绍了任务同步与互斥的实现方法。在非FreeRTOS环境下,同步可通过变量轮询实现(如while循环等待标志位),互斥则采用禁止中断或测试置位等机制。FreeRTOS提供了专门的同步互斥API更高效可靠。文章通过串口通信示例说明同步互斥的必要性,并对比了裸机与RTOS方案的优缺点,指出非RTOS方案可能存在的效率问题和任务切换风险,而RTOS原生API能更好地解决这些问题。代码示例展示了标志位同步和临界区保护的具体实现。原创 2025-10-25 00:54:17 · 398 阅读 · 0 评论 -
STM32FreeRtos入门(四)——任务状态和调度
FreeRTOS 通过优先级抢占和时间片调度实现高效的任务管理,任务状态的切换由事件(如延时、信号量)和调度器共同控制。理解这些机制是使用 FreeRTOS 进行多任务编程的基础。原创 2025-10-07 03:14:36 · 1207 阅读 · 0 评论 -
STM32FreeRtos入门(三)补充——计算栈的大小
本文介绍了FreeRTOS中估算栈大小的方法。主要内容包括:栈的用途(存储函数调用信息、局部变量等),估算步骤(分析函数调用链、计算每个函数栈使用量、考虑中断开销),以及动态验证方法(栈填充法、硬件调试器)。最后建议采用静态估算与动态验证结合的方式,并预留20%-50%余量,确保系统稳定运行。原创 2025-10-06 20:52:28 · 595 阅读 · 0 评论 -
STM32FreeRtos入门(三)——创建多任务程序以及删除任务
本文介绍了FreeRTOS任务创建与删除的实现方法。主要内容包括:1)静态创建任务(xTaskCreateStatic)和动态创建任务(xTaskCreate)的区别,前者需要用户提供栈和TCB内存,后者由系统自动分配;2)任务创建参数说明,包括任务函数、名称、栈大小、优先级等;3)静态任务创建所需的三个关键元素:StackType_t数组(栈内存)、StaticTask_t(任务控制块)和TaskHandle_t(任务句柄);4)任务删除的实现方法,通过任务句柄调用vTaskDelete函数。文中还提供了原创 2025-09-24 13:20:05 · 926 阅读 · 0 评论 -
STM32FreeRtos入门(二)——创建第一个多任务程序
本文分享了FreeRTOS学习经验,重点解析了任务创建流程与多任务实现。通过韦东山开发板实践,详细介绍了动态/静态内存分配的任务创建流程(参数初始化、内存分配、TCB初始化、加入就绪列表等)。原创 2025-09-22 16:51:14 · 961 阅读 · 0 评论
分享