ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

S32K3XX 中断开发--INTC模块(Interrupt Control)

S32K3XX 中断开发--INTC模块(Interrupt Control) 嵌入式系统离不开中断,这里记录下中断配置说到中断配置,又绕不开中断向量表这个名词。一、什么是中断向量表中断发生时,CPU 不知道“哪个函数应该被调”。它只有中断号,而没有直接绑定到函数名。因此必须通过向量表把“中断号 - 函数地址”匹配起来。CPU 在异常/中断触发时按它来跳转。二、中断向量表的内容初始向量:栈顶地址、复位入口,随后是 NMI、HardFault、SVCall 等内核异常入口等用户中断:包括CAN中断、ADC中断、SPI中断、看门狗中断等,根据项目实际需要配置。三、中断向量表存放在什么位置一般来说,分两处存放,一处是ROM,另一处是RAM,我们分别介绍。1、存储于ROM的中断向量表对于S32K3XX,我们参考下NXP给的例程,其中链接文件linker_flash_s32kxx。如下图,习惯把向量表放在int_pflash的起始地址,一般是放在IVT字段的后面,此处的例子里,IVT之后做了2K对齐,随后就是ROM中的 intc_vector中断向量表。我理解这里是保存启动时的初始向量,后面启动过程中,也是把这个默认的表复制到 RAM 。再配置用户定义的部分。2、存储于RAM的中断向量表/
返回列表