ARM平台Linux系统设置SPI中断亲和性(中断cpu掩码设置)

发布时间:2024年01月12日

首先看一下需要设置的中断的中断号,使用下面这个命令

cat /proc/interrupts

显示如下:

假设我们需要设置的中断时这个定时器10012000.timer0,中断号是13,然后进入目录

cd /proc/irq/13

该目录下会有这些文件

查看亲和性设置

cat smp_affinity_list

0-7表示这个中断可以被所有cpu核处理

可以通过往smp_affinity文件里面写配置值改写亲和性,配置值本质上是一个掩码值,即用一个bit表示某一个cpu核是否可以处理该中断。我们ARM处理器总共有8个核,分别对应一个char数值的第0位到第7位,如下图:

只需要将掩码值以十六进制值对应字符串(不需要0x)写入smp_affinity文件即可

echo "20" > smp_affinity

然后打印cat smp_affinity_list确认一下

设置成功,后续当有13号SPI中断触发时,GIC会将中断发送到掩码设定的处理器。

文章来源:https://blog.csdn.net/ctbinzi/article/details/135556657
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。