Zephyr 对 ARC 处理器的支持状态
概述
本页介绍 Zephyr 对 ARC 处理器的当前支持状态以及部分未来计划。请注意
这些计划没有确切的截止日期
软件功能需要相应的硬件,并且硬件必须正确配置
并非所有功能都能同时启用
支持状态
图例: Y - 是,已支持; N - 否,不支持; WIP - 正在开发; TBD - 待定
处理器系列族 |
|||||
EM |
HS3x/4x |
VPX |
HS5x |
HS6x |
|
移植状态 |
已合入上游 |
已合入上游 |
已合入上游 [6] |
已合入上游 |
已合入上游 |
功能 |
|||||
紧耦合存储器(ICCM、DCCM) [1] |
Y |
Y |
Y |
TBD |
TBD |
启用缓存运行 - 指令/数据缓存、L1/L2 缓存 |
Y |
Y |
Y |
Y |
Y |
硬件辅助的非对齐内存访问 |
Y [2] |
Y |
Y |
Y |
Y |
具有多个优先级的常规中断、直接中断 |
Y |
Y |
Y |
Y |
Y |
快速中断、用于快速中断的独立寄存器组 |
Y |
Y |
TBD |
N |
N |
硬件浮点单元(FPU) |
Y |
Y |
TBD [6] |
TBD |
TBD |
基于上下文切换的对称多处理(SMP)支持 |
不适用 |
Y |
TBD |
Y |
Y |
硬件辅助的栈检查 |
Y |
Y |
Y |
N |
N |
硬件辅助的原子操作 |
不适用 |
Y |
Y |
Y |
Y |
DSP ISA |
Y |
N [3] |
TBD [6] |
TBD |
TBD |
DSP AGU/XY 扩展 |
Y |
N [3] |
不适用 |
TBD |
TBD |
用户空间 |
Y |
Y |
N |
TBD |
TBD |
内存保护单元(MPU) |
Y |
Y |
TBD |
N |
N |
内存管理单元(MMU) |
不适用 |
N |
TBD |
N |
N |
SecureShield |
Y |
不适用 |
不适用 |
不适用 |
不适用 |
单线程内核支持 [5] |
Y |
Y |
Y |
Y |
Y |
工具链 |
|||||
GNU(开源,基于 GCC) |
Y |
Y |
N |
Y |
Y |
MetaWare(专有,基于 Clang) |
Y |
Y |
Y |
Y |
Y |
模拟器 |
|||||
QEMU(开源) [4] |
Y |
Y |
N |
Y |
Y |
nSIM(专有,由 MetaWare Development Tools 提供) |
Y |
Y |
Y |
Y |
Y |
备注
VPX 向量寄存器
Zephyr 支持一种受限的 VPX 向量寄存器共享方式,称为协作式共享。使用这些寄存器的线程必须在相关代码段的开始和结束处分别调用 arc_vpx_lock() 和 arc_vpx_unlock() ,以控制对该资源的访问。
备注
如果系统具有多个 CPU,应用开发者必须在线程尝试获取协作锁之前将其绑定到单个 CPU,并确保在线程等待或持有该协作锁期间不修改其 CPU 亲和性。
配置选项
启用配置选项 CONFIG_ARC_VPX_COOPERATIVE_SHARING 时,将选用 VPX 向量寄存器的协作式共享。