
RTOS
文章平均质量分 75
makin.liu
这个作者很懒,什么都没留下…
展开
-
FreeRTOS:资源管理
死锁场景A任务已经获取了资源a,B任务已经获取了资源b,且这时A任务正在等待B任务释放资源b,而B任务正在等待A任务释放资源a;资源冲突场景A任务正在写某个缓冲区(buffer),还没写完发生了任务切换,切换到B任务;B任务执行该缓冲区的读操作,读完后任务切换到A任务;这样B任务读取的数据一部分是新的一部分是旧的,这可能会引起B任务执行异常。解决资源冲突的常用方法就是原子操作,即任意任务从获取资源到释放资源是一个完整的操作,过程中不被中断;原子操作的实现方案一般有关调度、关中断;...原创 2022-11-25 15:49:17 · 640 阅读 · 0 评论 -
FreeRTOS:任务及任务管理
根据个人经验描述任务管理中常见的几个问题,希望能够帮助各位看官!1、为什么不推荐使用systick作为HAL时钟源?/2、OS的tick设置多少合适?/3、configMAX_PRIORITIES设置多少合适?4、为什么必须要有idle任务?/5、为什么任务退出前必须显示将该任务删除?/6、如何判断任务栈空间分配是否合适?...原创 2022-07-19 19:44:54 · 2510 阅读 · 0 评论 -
FreeRTOS:内存管理
在FreeRTOS中有两种内存使用方法:一种是使用静态方法创建任务的栈空间、任务控制块等,该方法也就是在我们编程时候直接定义/申请一个数组或结构体内存空间;另一种是使用动态方法创建,该方法是在代码运行时候才申请数组或结构体内存空间(不同的内存管理方法,内存空间申请方法也不一样)。这两种方式我们分别称之为:静态内存管理、动态内存管理;静态内存方式从V9.0.0版本才开始引入,两种方案各有利弊,对于大多数普通用户来说,两者没有太多区别。...原创 2022-07-15 21:20:17 · 2982 阅读 · 0 评论 -
FreeRTOS:CMSIS_V1与CMSIS_V2区别
使用STM32CubeMx生成代码时,会让我们选用CMSIS_V1还是CMSIS_V2,这两者有什么区别?原创 2022-07-15 21:06:15 · 12304 阅读 · 4 评论