Cache Refill Error while access Interrupt table in Flash

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Not applicable
Hi all,

I attempt to readout the content of Interrupt table in Flash like following.
pcrcdata = (uint8 *) InterruptTBADDR;
for (i = 0 ; i < 40; i++)
{
int_tb_buffer = *(pcrcdata +i);
}
However, it always enter an Trap with TIN number 2 after reset. After checking relative special function register, it was found this issue was caused by cache refill error in the register CPU0_DSTR.
And the register CPU0_DEADD showed that it happened while the code attempt to access the flash address that interrupt table located. No matter where the interrupt table was located.
Is there any other procedure need to do before access interrupt table?

BR,
Morris
0 Likes
1 Reply
cwunder
Employee
Employee
5 likes given 50 likes received 50 solutions authored
There should not be an issue to read the interrupt vector table. On taking an interrupt the CPU will vector to a unique PC generated from the interrupt priority number and the Base Interrupt Vector (BIV). What device are you using? What is the Trap Class are you getting?
0 Likes