TI中文支持网
TI专业的中文技术问题搜集分享网站

C6670 中断问题

       在调研STK中的SRIO工程中遇到了一个问题,在SRIO初始化中断函数中设置了ISTP= 0x800000,想请此寄存器的ISTB显示的地址在datasheet上说为中断向量的入口地址,但此地址无法在Memory Brower中查看到,而且在每次载入程序时似乎ISTB地址也在不断变化,这是为什么呢?

      通过阅读C6670中datasheet中描述的中断路由机制,我知道了128个event到12个CPU 中断的过程,那么假如其中一个事件路由到了一个CPU中断上后,当触发条件满足后,ISTP寄存器也没有变化,例如一个gpio中断响应后进入了相应的服务函数,但也没有看到该寄存器产生一定变化,这是为什么呢?

Shine:

1. ISTP的地址重新赋值的话,在运行代码后才生效,看一下执行完ISTP赋值语句后,ISTP是否还会变化?

2. ISTB的值配好后,不会有变化。中断产生后,需要查看的是IFR的flag位有没有置起来。

Yu Duan1:

回复 Shine:

那么ISTB的地址又代表什么呢?datasheet上写的是中断向量的地址,但该地址是不是一个中断服务函数的入口地址呢?

Shine:

回复 Yu Duan1:

ISTB是中断向量表的地址,具体含义见下面文档第54页上的定义。2.8.11 Interrupt Service Table Pointer Register (ISTP)http://www.ti.com/lit/ug/sprugh7/sprugh7.pdf中断服务函数的入口地址在中断向量表中定义。

赞(0)
未经允许不得转载:TI中文支持网 » C6670 中断问题
分享到: 更多 (0)