FreeRTOS
Entronk_star
这个作者很懒,什么都没留下…
展开
-
FreeRTOS任务切换总结
1处理时间被划分多个片段,到达一定时间就会触发系统滴答定时器(SysTick)中断进行上下文切换,但由于SysTick中断是最高级的,会使其他事件中断延时。故每到SysTick中断是让PendSV中断挂起,由于PendSV优先级最低,只有所有中断都执行完毕了才会执行PendSV中断,在此进行任务切换。 2区系统滴答定时器(SysTick)中断与执行系统调用的两种任务切换途径,相同点是,本质最...原创 2020-01-19 00:03:44 · 1331 阅读 · 0 评论 -
FreeRTOS任务管理名词解释
1多任务系统:FreeRTOS就是一个多任务处理的操作系统,无操作系统的是单任务系统(即功能实现都在一个大while循环里)。 2任务调度器:多任务系统的核心,即把一个大循环while里的(或者说是一个大任务)分成若干个小任务,而什么时间执行什么任务的控制操作就是任务调度器 3任务与协程:单核系统(单片机是单核)任意时刻最多同时执行一个任务,打断执行其他任务回来原来的任务时需要从任务堆栈中得知...原创 2020-01-17 21:08:31 · 397 阅读 · 0 评论 -
FreeRTOS任务管理各过程算法总结
1开启任务调度器:在此函数包括创建空闲任务(优先级最低),创建定时器服务任务(软件定时器,该步骤是条件编译可以用宏关闭)。然后会先关闭中断,在SVC中断服务函数中再重新打开。配置时间统计功能的定时器(条件编译,一般调试时才会用)。还包括其他硬件的初始化如滴答定时器、FPU单元、PendSV中断等等(这些有相关函数去调用实现或是寄存器直接配置)。 2空闲任务的意义:保证系统任何时刻都有一个任务进行...原创 2020-01-17 21:06:47 · 441 阅读 · 0 评论 -
FreeRTOS中断基本核心知识
最多有8位配置中断优先级(理论上每个中断都有这样的一个优先级寄存器配置)。最高有256个优先级128个抢占优先级,但为了节省设计与结构一般不会8位全用上。根据不同厂家的不同芯片用来配置中断优先级的位数会不同。 因此会有优先级分组,即分两组,x位作为抢占优先级y位做次优先级方便管理优先级(x、y根据优先级分组确定)。Stm32由4个相邻的中断配置并成在一个32位寄存器里。 FreeRTOS不能管...原创 2020-01-15 17:05:42 · 275 阅读 · 0 评论