
RTOS
helloworld的传说
文以拙成,道以拙见。
展开
-
FreeRTOS:TCB_t结构体解读(转载)
栈的生长方式可以分为两种,一种是向下生长,一种是向上生长,FreeRTOS中用portSTACK_GROWTH来区分这两种生长方式,portSTACK_GROWTH大于0为向上生长,小于零为向下生长。在TCB_t结构体的定义中可以看到根据栈的生长方式的不同,其将具有不同的成员变量pxEndOfStack,在这里说明一下栈的生长方式是如何定义的,以及为何生长方式会存在pxEndOfStack这一变量的差异。阻塞状态:直到某些条件达成才会重新进入就绪态等待获得执行权,否则不会执行的任务。原创 2023-11-29 11:48:30 · 461 阅读 · 0 评论 -
vTaskSuspendAll()和xTaskResumeAll()
如果一个临界区执行时间过长而不适合通过关闭中断(vTaskEnterCritical)的方式来保护临界区的话,可以通过挂起调度器来保护临界区。系统维护一个全局变量uxSchedulerSuspended的计数值,当其大于0的时候禁止调度,等于0的时候表示允许调度。如果调度器挂起的话(执行vTaskSuspendAll()),当前正在执行的Task会一直继续执行,内核不再调度(),直到该任务调用了xTaskResumeAll()函数。意味着当前任务不会被切换出去。原创 2023-11-28 14:50:16 · 434 阅读 · 0 评论 -
抢占式调度和非抢占式调度的区别
操作系统才会将 CPU分配给另一个进程。这种方式可以保证低优先级进程得到更稳定的运行时间,但可能会导致高优先级进程得不到及时响应。总的来说,抢占式调度适用于实时系统或需要快速响应的场景,而非抢占式调度适用于一些需要稳定运行的应用,如批处理系统。这种方式可以保证高优先级进程得到更快的响应时间,但可能会导致低优先级进程的运行时间不确定。一个高优先级的进程可以随时抢占正在运行的低优先级进程的 CPU时间片。抢占式调度和非抢占式调度是操作系统中两种不同的进程调度方式。相反,在非抢占式调度中,一个进程只有在。原创 2023-11-28 14:32:21 · 4069 阅读 · 0 评论 -
FreeRTOS_任务通知
任务通知在 FreeRTOS 中是一个可选的功能,要使用任务通知的话就需要将宏configUSE_TASK_NOTIFICATIONS 定义为 1。FreeRTOS 的每个任务都有一个 32 位的通知值,任务控制块中的成员变量 ulNotifiedValue就是这个通知值。任务通知是一个事件,假如某个任务通知的接收任务因为等待任务通知而阻塞的话,向这个接收任务发送任务通知以后就会解除这个任务的阻塞状态。也可以更新接收任务的任务通知值。原创 2023-11-16 11:46:09 · 120 阅读 · 2 评论 -
FreeRTOS_任务创建与删除
xTaskDelete(NULL) //参数为NULL,为删除当前任务。原创 2023-11-16 09:43:48 · 128 阅读 · 2 评论 -
FreeRTOS文档
官方中文文档原创 2023-11-15 16:26:29 · 143 阅读 · 0 评论 -
FreeRTOS API: vTaskList() 查看当前所有任务信息
在 xTaskCreate 创建 task 时,给定的第三个参数值代表该 task 调度和运行过程中,最大可用 task 栈空间,以字节为单位(读者可以修改 portSTACK_TYPE 宏来决定是否以字节还是4字节为单位);B: 当某个 task 最小剩余 task 栈空间比较小时,适当增大 xTaskCreate 创建该 task 时给定的第三个参数值,可降低 task 栈溢出风险。Task 如果 API 调用比较深,则使用的栈空间越大,也就意味着最小剩余 task 栈空间越小。翻译 2023-11-15 15:14:17 · 1091 阅读 · 0 评论 -
FreeRTOS-查看堆栈使用情况
如果存在内存越界导致程序dump后,我们也不由会怀疑是否是系统HEAP不够,或是task分的堆栈空间不够。原创 2023-11-14 11:37:12 · 2941 阅读 · 0 评论 -
RTOS实时性设计理解
常规的操作系统中,消息队列都是按照FIFO(先进先出)的方式进行调度,如果有多个接受者,那么接受者也是按照FIFO的原则接受消息(数据),但实时操作系统会提供基于优先级的处理方式:两个任务优先级是分别是10和20,同时等待一个信号量,如果按照优先级方式处理,则优先级为10的任务会优先收到信号量。由于应用场景的差异,会出现有些用户需要实时性的驱动,有些用户需要高性能的驱动,因此实时操作系统实际上要提供多种形式的配置以满足不同实时性需求的用户。”才是RTOS的最大特征,其它的都不算是。转载 2023-11-13 18:22:07 · 172 阅读 · 0 评论