GIC v3 & v4 虚拟化架构

ARMV8-A架构中包含了对虚拟化的支持。为了与架构保持匹配,GICV3也对虚拟化做了支持。新增了以下特性: 对CPU interface的硬件虚拟化 虚拟中断 maintenance 中断:用于通知监管程序(例如hypervisor)一些特定的虚拟机...

Read More



FreeRTOS队列管理

队列管理 队列特征 数据存储 队列可以存储固定大小的数据项目。队列最大可存储数据项条目叫"length"。"length"和每条数据项尺寸都是队列创建时设置的。 队列是最常见的FIFO缓存——先进先出缓存,数据是写入到队尾,删除是从队列头开始。图31展示...

Read More



FreeRTOS软件时间任务

软件时间任务 软件时间用于计划未来的某个时间执行某个函数,固定周期的运行某个函数。被软件时间管理器执行的函数叫做软件时间管理回调函数。软件时间任务的实现是在FreeRTOS内核中控制的。它不依赖硬件支持,也不依赖硬件的时间管理和硬件计数。 软件时间管理器...

Read More



FreeRTOS资源管理

资源管理 在一个多任务系统中有一个潜在错误,一个任务开始访问一个资源,直到被切出执行状态都没有完成资源的访问。如果任务离开资源时状态不一致,那么访问相同资源的任务或中断可能会导致数据异常,或其他类似问题。 代码关键部分和暂停调度器 基础关键部分 代码的关...

Read More



FreeRTOS堆空间管理

堆空间管理 FreeRTOS相关的动态内存分配 自v9.0.0内核以来,对象就可以在编译时静态分配,也可以运行时动态分配,例如任务,队列,信号量和事件组。为了让FreeRTOS能尽量使用简单,这些内核对象都不是在编译的时候静态分配,而是在运行时动态分配;...

Read More