首页 > 代码库 > TI C66x DSP 系统events及其应用 - 5.8(ISTP)
TI C66x DSP 系统events及其应用 - 5.8(ISTP)
中断服务表指针ISTP(Interrupt Service Table Pointer)寄存器用于定位中断服务程序的位置,即ISTP指明中断发生后去哪里找要执行的程序,ISTP(其中的ISTB字段)就是指向IST表的寄存器。ISTP中的一个字段ISTB确定IST的地址基数部分;另一个字段HPEINT确定特定的中断并定位特定的取指包在IST中的位置。图6-4所示为ISTP的各字段,表6-2描述了各字段及其如何使用。
下图为ISTP寄存器,bit 0~4必须设置为0,即IST表的起始地址或者说获取包必须是32字节对齐。
ISTB域表示IST地址的中断服务表基地址。该字段在复位时为默认值0地址。因此,在启动时,IST必须置于该0地址处。复位后,可以向ISTB写入新的值来重定位IST。如果重新定位,则第一个ISFP(对应于RESET中断)将从不被执行,因为复位使ISTB置为0。
HPEINT字段给定当前IER中使能的最高优先级中断号(与IFR相关位的位置相关),即当前pending的并且在IER中使能的最高优先级的中断号,这样,ISTP就可以用于手动的跳转到最高级的使能的中断(通过ISTP的值加上最高优先级中断在IST中的偏移,就可以得到相应的vector地址)。如果没有挂起和使能的中断,HPEINT的值为0000b。这个相应的中断不需要靠NMIE(除非NMI)或GIE来使能。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。