理论教育 中断向量表映射的分析介绍

中断向量表映射的分析介绍

时间:2023-06-15 理论教育 版权反馈
【摘要】:在28x系列DSP中,中断向量表可以映射到4个不同的区间:M1 SARAM、M0SARAM、BROM区和PIE向量表区块。向量表映射由以下位控制:1)VMAP:该位为状态寄存器ST1的位3即ST1.3。表2-24 中断向量表映射注:1.对于2803x器件,VMAP和M0M1MAP模式在复位时为1。此后,将会从PIE向量表中读取中断向量。复位后,PIE向量表是禁止的。中断优先级是在取向量的过程中实现的。需注意,向量表受EALLOW保护。

中断向量表映射的分析介绍

在28x系列DSP中,中断向量表可以映射到4个不同的区间:M1 SARAM、M0SARAM、BROM(引导ROM)区和PIE向量表区块。实际上只使用PIE向量表。

向量表映射由以下位控制:

1)VMAP:该位为状态寄存器ST1的位3即ST1.3。复位时,该位为1。它的状态可以通过写ST1或通过指令“SETC/CLRC VMAP”修改。在28x的一般操作中,该位保持1。

2)M0M1MAP:该位为状态寄存器ST1的位11即ST1.11。复位时,该位为1。它的状态可以通过写ST1或通过指令“SETC/CLRC M0M1MAP”修改。在28x的一般操作中,该位保持1。M0M1MAP=0仅用于TI测试中。

3)ENPIE:该位为PIECTRL寄存器的位0。复位时的默认值为0(禁止PIE)。它的状态可以在复位后通过写寄存器PIECTRL修改。

复位后PIE向量表是空的,初始化程序应将向量表从Flash中复制到PIE向量表中来,然后使能PIE向量表,即令ENPIE=1,此后中断向量从PIE向量表中取地址

使用这些位,向量表映射见表2-24。

2-24 中断向量表映射

978-7-111-57271-8-Chapter02-128.jpg

注:1.对于2803x器件,VMAP和M0M1MAP模式在复位时为1。ENPIE模式复位时为0。

2.向量映射M1和M0仅为一种保留模式。在28x上,它们用作RAM。

M1和M0向量表映射仅用于TI公司芯片测试。当使用其他向量映射时,M0和M1存储器区块作为RAM,可以自由地使用,不受任何限制。

器件复位后,向量表映射见表2-25。

2-25 复位操作后的向量表映射

978-7-111-57271-8-Chapter02-129.jpg(www.daowen.com)

复位和引导完成之后,用户应该初始化PIE向量表。然后在应用程序中使能PIE向量表。此后,将会从PIE向量表中读取中断向量。

注意当发生复位时,复位向量总是从表2-25的向量表中读取。复位后,PIE向量表是禁止的。

PIE向量表包括256×16位的SARAM模块,见表2-26。在PIE未使用时,也可以用作RAM存储器(只能配置在数据空间)。复位时,PIE向量表的内容是不确定的。INT1~INT12的中断优先级是确定的。而PIE控制着每组8个中断的优先级。例如INT1.1和INT8.1同时发生时,两个中断会同时由PIE向CPU发出中断请求,但是CPU将先响应INT1.1,然后才是INT1.8。中断优先级是在取向量的过程中实现的。

2-26 PIE向量表

978-7-111-57271-8-Chapter02-130.jpg

(续)

978-7-111-57271-8-Chapter02-131.jpg

(续)

978-7-111-57271-8-Chapter02-132.jpg

注:1.PIE向量表中的所有位置都受EALLOW保护。

2.DSP/BIOS使用向量ID。

3.复位向量总是从Boot ROM的0x003F FFC0处读取。

“TRAP1”到“TRAP12”指令或“INTR INT1”到“INTR INT12”指令都可以从每一组的第一个位置(“INTR1.1”到“INTR12.1”)读取向量。类似地,如果对应的中断标志已经置位,则指令“OR IFR,#16 bit”将从“INTR1.1”到“INTR12.1”处取回向量。所有其他的“TRAP”“INTR”“OR IFR,#16 bit”操作都将分别从对应的位置处读取向量。对INTR1~INTR12应该避免使用这样的操作。“TRAP#0”操作将返回0x000000向量值。需注意,向量表受EALLOW保护。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈