soc系统了解:interrupt controller

现在流行的架构是 AMBA system,是 APB和AHB 两个bus的组合,APB(advance peripheral bus), AHB(advance high speed bus).

高速的设备会挂到AHB上,比如: USB,memory,ethernet,dmac... 而低速的设备会挂到APB上,比如:uart,rtc,gpio,timer。。。

AHB和APB都可以有中断控制器,都设计的差不多,现在我们的系统是选择在AHB上有一个中断控制器。

中断控制器的设计有下面几个部分:

1. irq 是高还是低触发,一般叫irq interrupt polarity;

2. force interrupt from software, 通过软件置位register,发出一个中断,我现在还想不出来这个功能要用来干嘛,ASIC就是喜欢弄些怪东西;

3.中断 enable, mask,status, 这些是很平常的设置了;

4. priority filter: 就是可以设置中断优先级,中断号0为最低优先级,这是通过2个register来达到目的的,

一个是irq system priority level register:

看看他的解释:The default state can be configured so that after reset the interrupt controller will
accept only interrupts that are enabled and have a priority the same or
greater than the system level priority setting。

还有一个就是设哪个中断是哪个优先级的。也就是说,当中断2发生的时候,设置irq system priority level register 为2,那么中断0,和中断1,如果产生就会被忽略。

5. 中断向量 interrupt vector: 这个是很好玩的,就是每一个中断产生的时候,可以跳到vector 所在的地址,这里我们当然会填一个函数的地址了。

如果这个功能没有enable的话,就直接发出一个irq给arm,arm根据他的中断向量表来做处理。好像又不是,asic的人在看,哦。

 

当然一般都有fiq,fiq没有priority的部分,其他和irq是一样的。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值