Hello,
We have problem with IRQINDEX reading (TMX570LS3137 silicon rev B, Herkules HDK board.).
When we read this once, it work fine.
But second try to read return 0 sometimes. It looks, that reading of IRQINDEX clear it. And Technical reference manual not uncover it.
But it is more strange:
- Value at second reading probably depend to vector number. 3 (from RTI) is OK, but 77 and 79 (from ethernet) not.
- When I read IRQVECREG before first IRQINDEX, then IRQINDEX is invalid sometimes.
- When I try use "Hardware Vector Interrupt", then IRQINDEX is invalid sometimes.
How it is strange is clear on this snipplet. This code work fine for RTI interrupt 3, but fail for Ethernet interrupts 77,79
.....
ldr r2, IRQINDEXvector
ldr r3, [r2] ; <= after remove this line, it will work fine
ldr r3, [r2]
....
IRQINDEXvector:
.word 0xFFFFFE00
I found this problem when we try use "Hardware Vector Interrupt" where few interrupts (not all) point to only one function to pass event to RTOS signal/trigger. But inside this function I need translate interrupt number to signal/trigger number and reading of IRQINDEX not work.
Jiri
PS: another minor problem on documentation: see to SPNU499A–November 2012 Table 15-10. Column "Field" contain invalid string FIRQPR, correct string is INTREQ probably.