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地址处。由于复位RESET时,系统必需要从RESET的vector处运行,即从地址0处開始运行,然后跳转到bootloader程序运行(RESET中断的ISR)。但复位后。能够向ISTB写入新的值来重定位IST。假设又一次定位,则第一个ISFP(相应于RESET中断)将从不被运行,由于复位使ISTB置为0。

HPEINT字段给定当前IER中使能的最高优先级中断号(与IFR相关位的位置相关)。即当前pending的而且在IER中使能的最高优先级的中断号,这样,ISTP就能够用于手动的跳转到最高级的使能的中断(通过ISTP的值加上最高优先级中断在IST中的偏移,就能够得到对应的vector地址)。假设没有挂起和使能的中断,HPEINT的值为0000b。这个对应的中断不须要靠NMIE(除非NMI)或GIE来使能。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值