【ARM系列】1 of N SPI

1 of N模式 SPI

概述

GIC-600AE支持1 of N模式SPI。在此模式下可以将SPI target到多个core,并且GIC-600AE可以选择哪些内核接收SPI。

GIC-600AE只向处于powered up 并且使能中断组的core发送SPI。

GIC-600AE会优先考虑那些被认为是active的核,但如果没有active的核,它就会选择inactive的核。

GIC600AE选择哪个core进行响应,受以下控制或影响:

1.cpu_active signal

cpu_active连接到gic redistributor用于指示每个core的状态。若cpu_active为低,表明该core处于low-power state,例如retention。当系统中没有合适的路由目标时,必须选择它作为SPI的目标

2.GICR_CTLR.DPGxx(Disable Processor Group)

设置DPGxx =1会阻止特定中断分组的1 of N模式的SPI路由到该core

3.Processor and GICD group enables and GICR_WAKER.ProcessorSleep

若以下任一条件为真,1 of N模式SPI中断不会路由到该core:

①通过GICR_WAKER.ProcessorSleep表明core处于休眠状态;

②中断分组被禁用

4.Interrupt class

通过配置GICR_CLASSR可以将core分成class0或class1。1 of N模式的SPI中断通过配置GICD_ICLAR寄存器,可以将路由目标选择为class0,class1或both class。

在Arm big.LITTLE系统中,可以将所有big cores设置为class1,little cores设置为class0,1 of N模式的SPI中断可以根据处理量进行区分。

5.GICD_CTLR.E1NWF

该bit用于控制,当1 of N模式的SPI中断没有恰当的路由目标时,是否通过GIC唤醒该core

配置流程

1.在配置产生SPI中断时,首先通过配置GICD_IROUTER.Interrupt_Routering_Mode将中断路由模式设置为1 of N模式

2.配置GICD_ICLARn寄存器将要产生的spi中断划分为class0,class1或both

3.配置spi中断的分组(GICD_IGRPMODR和GICD_IGROUPR)

4.GICR_CLASSR

这个寄存器用于指定CPU接受哪一类的1 of N SPI中断

5.GICR_CTLR.DPGxx

如果配置DPG0=1,那么Group 0 的 1 of N 模式的SPI中断将无法作用到对应的cpu上

如果配置DPG1NS=1,那么Group 1 Non-Secure 的 1 of N 模式的SPI中断将无法作用到对应的cpu上

如果配置DPG1S =1,那么Group 1 Secure的 1 of N 模式的SPI中断将无法作用到对应的cpu上.

上述3bit最好都配置为0,这样PE就可以接收Group 0,Group 1 Non-Secure,Group 1 Secure的1 of N模式的spi中断

相关推荐
CinzWS15 小时前
A53 FPGA原型验证:从RTL到可运行系统的挑战
arm开发·嵌入式·芯片验证·原型验证·a53
AI服务老曹15 小时前
深度解析:支持 GB28181/RTSP 及异构计算(X86/ARM+GPU/NPU)的 AI 视频管理平台架构方案(附源码交付与 Docker 部署)
arm开发·人工智能·音视频
2302_8138062215 小时前
基础环境篇 – 交叉编译环境搭建与NFS服务配置
arm开发
极创信息15 小时前
信创领域五种主流CPU架构(X86 / ARM / RISC-V / MIPS / LoongArch)
java·arm开发·数据库·spring boot·mysql·软件工程·risc-v
AI服务老曹16 小时前
节省95%开发成本:支持X86/ARM与GPU/NPU异构部署的AI视频云网关架构深度解析
arm开发·人工智能·音视频
徐某人..1 天前
基于i.MX6ULL平台的智能网关系统开发
arm开发·c++·单片机·qt·物联网·学习·arm
2035去旅行1 天前
嵌入式开发,如何选择C标准库
linux·arm开发
进击的小头1 天前
20_第20篇:嵌入式外设驱动开发基础:寄存器级开发与库函数开发对比实战
arm开发·驱动开发·单片机
AI服务老曹2 天前
架构实战:如何构建支持X86/ARM及异构GPU/NPU的跨平台企业级AI视频管理系统?
arm开发·人工智能·架构
ai产品老杨2 天前
【架构深研】如何构建兼容X86/ARM与异构算力的AI视频中台?基于GB28181与边缘计算的源码交付实践
arm开发·人工智能·架构