14.3.3
NVIC中断配置固件库
固件库文件core_cm33.h的最后,还提供了NVIC的一些函数,这些函数遵循CMSIS规则,只要是Cortex-M33的处理器都可以使用,具体如下:
表格15‑3符合CMSIS标准的NVIC库函数

点击可查看大图
这些库函数我们在编程的时候用的都比较少,甚至基本都不用。在配置中断的时候我们还有更简洁的方法,请看中断编程小节。
14.4
RA6M5
瑞萨的RA6M5采用了Cortex-M33内核,Cortex-M33内核的NVIC支持为数众多的系统异常和外部中断,除了个别异常的优先级被定死外,其它异常的优先级都是可配置的。Cortex-M33可以配置的支持多达480个外部中断,瑞萨对于中断向量表的使用有112个,其中可配置的有96个,RA6M5外围模块的可配置的中断事件有287个,最高可达256个优先级。
14.4.1
中断向量表
中断向量表提供了相应的中断服务程序,我们一般称它为ISR,中断响应通过提取中断服务程序首地址的方式来完成程序指针PC的跳转。但是对于Cortex-M33的内核,RA6M5在中断向量表中使用了112个ISR。下面提供了瑞萨RA6M5对于ISR的使用。

点击可查看大图
注解
其中前16个是配置Arm的比如初始堆栈指针等为黄色的部分。后面96个是配置ICU事件选择寄存器ICU.IELSR。具体可翻阅《RA6M5 Group User’s Manual: Hardware》里的Table13.3 Interrupt vector table。
14.4.2
ICU.IELSRn寄存器
IELSRn寄存器选择NVIC使用的IRQi源。IELSRn对应于NVICIRQ输入源编号,其中n=0至95。

点击可查看大图
IELS[8:0]位将事件信号链接到相关的NVIC或DTC模块。事件选项分为8组(组0至7)。IR状态标志表示来自IELS[8:0]中指定事件的单个中断请求。DTCE位是DTC激活使能位,当DTCE位设置为1时,相关事件被选择为DTC激活源。
14.4.3
中断事件表
在中断事件表里,瑞萨RA6M5中可以配置什么中断,如IIC中断、GPT中断、Port中断、DMAC中断、DTC中断、AGT中断等等,具体可翻阅《RA6M5 Group User’s Manual:Hardware》里的Table13.4Event table。
14.5
ELC模块简介
事件链接控制器(EventLink Controller,ELC)将各种外围模块产生的事件请求作为源信号,连接到不同的模块,允许模块之间直接链接,不需要CPU干预。就是将事件(中断源)绑定到外设功能,当事件触发时,就会执行所绑定的外设功能。你可以认为这是一种中断,只不过这种中断不需要CPU的参与。
事件号和中断号之间的关系:事件链接的事件号与相关联的中断源的事件号相同。
ELC特性
219种事件信号可以被直接连接到各个模块。ELC生成ELC事件信号和激活DTC的事件。
-
处理器
+关注
关注
68文章
20152浏览量
247333 -
瑞萨
+关注
关注
36文章
22431浏览量
89778 -
中断
+关注
关注
5文章
913浏览量
43567 -
NVIC
+关注
关注
0文章
37浏览量
12343
原文标题:NVIC中断配置固件库&RA6M5——瑞萨RA系列FSP库开发实战指南(36)
文章出处:【微信号:瑞萨嵌入式小百科,微信公众号:瑞萨嵌入式小百科】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
STM32固件库详解emouse
stm32外部中断的配置
【STM32H7教程】第21章 STM32H7的NVIC中断分组和配置(重要)
NVIC与外部中断
STM32F1----NVIC
单片机的NVIC与EXTI中断详解

NVIC中断配置固件库详解
评论