This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

EZ-USB Autovectoring problem with MON51

Hi,

I've encountered a problem trying to implement autovectoring with an EZ-USB Development Board (AN2131-DK001) using the Keil evaluation DK51. I've scoured the net to see if anyone else has encountered the same problem, but to no avail.

I have the following code in an .a51 file.

CSEG	AT 43H
equ	$ + 2
DB	02H
DB	HIGH 4100h
DS	1


I found the above code here on the Keil site.

I then have the following code in a C file.

#pragma intvector (0x40FD) //start at 4100h
#pragma interval (4)

void Sudav_ISR (void) interrupt 0
{
}

.
.
.


In the above code I define all 21 EZ-USB interrupts.

Result: When using the MON51 for debugging purposes, at address 43h in the disassembly there is a an LJMP 4108h (would have expected it to be LJMP 4100 - off by 8).

In the disassembly starting at location 4100 is an LJMP to my first interrupt, Sudav_ISR. The following 20 interrupts defined in my code SHOULD follow at intervals of four. This doesn't happen. Some of the interrupts don't even show up, lest at intervals of 4.

When disassembled using just the simulator as a debugger, the code looks perfect.

Thanks for any insight and help =)

Natisha

0