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 向量寄存器的协作式共享。