FreeRTOS软件时间任务
软件时间任务 软件时间用于计划未来的某个时间执行某个函数,固定周期的运行某个函数。被软件时间管理器执行的函数叫做软件时间管理回调函数。软件时间任务的实现是在FreeRTOS内核中控制的。它不依赖硬件支持,也不依赖硬件的时间管理和硬件计数。 软件时间管理器...
软件时间任务 软件时间用于计划未来的某个时间执行某个函数,固定周期的运行某个函数。被软件时间管理器执行的函数叫做软件时间管理回调函数。软件时间任务的实现是在FreeRTOS内核中控制的。它不依赖硬件支持,也不依赖硬件的时间管理和硬件计数。 软件时间管理器...
资源管理 在一个多任务系统中有一个潜在错误,一个任务开始访问一个资源,直到被切出执行状态都没有完成资源的访问。如果任务离开资源时状态不一致,那么访问相同资源的任务或中断可能会导致数据异常,或其他类似问题。 代码关键部分和暂停调度器 基础关键部分 代码的关...
堆空间管理 FreeRTOS相关的动态内存分配 自v9.0.0内核以来,对象就可以在编译时静态分配,也可以运行时动态分配,例如任务,队列,信号量和事件组。为了让FreeRTOS能尽量使用简单,这些内核对象都不是在编译的时候静态分配,而是在运行时动态分配;...
任务通知 前面大多数任务之间交流的方法都需要一个中间对象来完成,例如队列、事件组和各种不同格式的信号量。 当使用交流对象时,事件和数据不是直接的发送给接收任务或中断,而是通过交流对象传递。任务和中断是从交流对象接收事件或数据,而不是直接从发出的任务或中断...
任务管理 任务函数 任务是使用C函数实现的,唯一特别的就是它的格式,它返回一个空,传递一个空指针参数,下面是任务函数的原型: void aTaskFunction(void *pvParameters) 每一个任务都是有单独权限的程序。有一个进入点,会在...