冷启动调试程序,开始时,Timer可以正常产生中断,并进入中断服务。反复运行一段时间后,就会出现Timer中断失效,Timer计数器计数正常累加,检查Timer和VIM寄存器,一切都设置正常,就是没有中断。其他的ADC和PRU中断,都可以正常中断。仿真器重新加载程序,也没有中断,设置TIMER8_CFG_CFG_IRQ_EOI=0,还是没中断,必须要复位PORz冷启动,才能再次产生中断。以下是Timer和VIM的设置:
TIMER8_CFG_CFG_TIDR
50003900 00000000 00000000 00000000
TIMER8_CFG_CFG_TIOCP_CFG
00000008 00000000 00000000 00000000
TIMER8_CFG_CFG_IRQ_EOI
00000000
TIMER8_CFG_CFG_IRQSTATUS_RAW
00000005
TIMER8_CFG_CFG_IRQSTATUS
00000005
TIMER8_CFG_CFG_IRQSTATUS_SET
00000007
TIMER8_CFG_CFG_IRQSTATUS_CLR
00000007
TIMER8_CFG_CFG_IRQWAKEEN
00000007
TIMER8_CFG_CFG_TCLR
00000003
TIMER8_CFG_CFG_TCRR
FFFFBC21
TIMER8_CFG_CFG_TLDR
FFFF9E56
TIMER8_CFG_CFG_TTGR
FFFFFFFF
TIMER8_CFG_CFG_TWPS
00000000
TIMER8_CFG_CFG_TMAR
FFFFF000
TIMER8_CFG_CFG_TCAR1
00000000
TIMER8_CFG_CFG_TSICR
00000004
TIMER8_CFG_CFG_TCAR2
00000000
TIMER8_CFG_CFG_TPIR
00000000
TIMER8_CFG_CFG_TNIR
00000000
TIMER8_CFG_CFG_TCVR
00000010
TIMER8_CFG_CFG_TOCR
00000000
TIMER8_CFG_CFG_TOWR
00000000
