TMS320C54x系列DSP的中断机制
(2.1)DSP中影响存储器映射的因素有三个:OVLY、DROM和MP/MC。OVLY是Overlay的简写。当OVLY=1时,数据空间里的一部分RAM变为重叠区域(Overlay Memory)。这部分重叠区域同时映射在每一页程序空间的上部。具体示例如图2所示(MP/MC=0,C5416)。
![](http://m.amcfsurvey.com/uphotos/fetch/20130729/151534_2_0.jpg)
可见OVLY=1的时候,数据空间的DARAM0~3被映射到程序空间的每一页上。基于这样的特点,可以把中断向量表定位到数据空间的重叠区域DARAM0~3中,置OVLY为1。当有中断发生时,不管程序运行于DSP的哪个程序页面空间,只用PC寻址都能够正确地取到中断向量表,而不会受XPC的影响。中断程序ISR可以放到任何一个程序页面中,但这时跳转到ISR的指令只能用长跳转指令(FB等),跳转之前注意将XPC压入堆栈,程序同表1。示意图如图3所示。
![](http://m.amcfsurvey.com/uphotos/fetch/20130729/151534_2_1.jpg)
(2.2) 如果片内RAM比较大,分给数据空间的RAM也比较多(如C5416有64K的RAM可以作为数据空间),数据空间可能会有余量。这时可以把中断向量表和ISR都全部放进数据空间的Overlay Memory区域,并把OVLY置1。这样不仅在任何程序页面空间都能够正确地取到中断向量表,同时用短跳转指令(BD等)就可以实现跳转到ISR,不再需要对XPC进行保存和还原。程序请参看表2。
![](http://m.amcfsurvey.com/uphotos/fetch/20130729/151534_2_2.jpg)
评论