1引言ARM7TDMI体系的中断向量的地址是动态分配在中断向量控制器的寄存器中,例如,意法半导体(ST)公司生产的STR71x系列ARM微控制器,其增强型的中断控制器(EIC)的EIC_IVR寄存器(中断向量寄存器)、EIC_SIRn寄存器(源中断寄存器)都是用于存储相关中断通道的中断服务程序在存储器中的地址,内核响应IRQ中断后,再根据当前对应的中断通道的中断向量进行散转,执行相应的中断服务程序。对于一般的8位MCU,通常是将向量中断人口固定分配R
1 引言
ARM7TDMI体系的中断向量的地址是动态分配在中断向量控制器的寄存器中,例如,意法半导体(ST)公司生产的STR71x系列ARM微控制器,其增强型的中断控制器(EIC)的EIC_IVR寄存器(中断向量寄存器)、EIC_SIRn寄存器(源中断寄存器)都是用于存储相关中断通道的中断服务程序在存储器中的地址,内核响应IRQ中断后,再根据当前对应的中断通道的中断向量进行散转,执行相应的中断服务程序。对于一般的8位MCU,通常是将向量中断人口固定分配ROM中,例如MCS-51单片机各个中断的人口地址是固定的。两者相比,ARM的中断体系具有较大的灵活性,但却降低了安全性和可靠性;MCU的中断向量体系虽然失去了灵活性,但确保了系统的安全性和可靠性。
在系统长时间运行和强干扰的作用下,保存在寄存器中的ARM的各个中断地址很容易受干扰信号的影响。当中断向量地址被改写后,程序必定跑飞,这种情况是无法忍受的,特别是在工控系统中。针对这种情况,本文提出了基于STR71x系列ARM微控制器将中断向量固化到ROM的思路,可以提高系统的安全性和可靠性。
2 STR71x结构分析
STR71x系列是意法半导体(ST)公司生产的基于ARM7TDMI内核的微控制器,片上集成高达256KB+16 KB的Flash和64 KB的RAM,拥有丰富的外设和增强的I/O功能,具有高性价比。STR71x内部有一个独立的增强型中断控制器,可完成多个中断通道的硬件处理、中断优先级决策和自动产生中断向量等功能,如图1所示。