We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi frnds,
I am working on Cypress EZ-USB CY768013A while analyzing the code i found many interrupts with same interrupt number as " interrupt 0 " , though this EZ Cypress usb chip has AUTOVECTOR facility, I would like to know how all these interrupt functions are executed with same Interrupt number in EZ CYPRESS USB chip ???
void ISR_Sudav(void) interrupt 0 { printf("Data\n"); GotSUD = TRUE; // Set flag EZUSB_IRQ_CLEAR(); USBIRQ = bmSUDAV; // Clear SUDAV IRQ } // Setup Token Interrupt Handler void ISR_Sutok(void) interrupt 0 { printf("Token\n"); EZUSB_IRQ_CLEAR(); USBIRQ = bmSUTOK; // Clear SUTOK IRQ } void ISR_Sof(void) interrupt 0 { printf("SOF\n"); EZUSB_IRQ_CLEAR(); USBIRQ = bmSOF; // Clear SOF IRQ } void ISR_Ures(void) interrupt 0 { printf("Ureq\n"); if (EZUSB_HIGHSPEED()) { pConfigDscr = pHighSpeedConfigDscr; pOtherConfigDscr = pFullSpeedConfigDscr; } else { pConfigDscr = pFullSpeedConfigDscr; pOtherConfigDscr = pHighSpeedConfigDscr; } EZUSB_IRQ_CLEAR(); USBIRQ = bmURES; // Clear URES IRQ } void ISR_Susp(void) interrupt 0 { printf("Sup"); Sleep = TRUE; EZUSB_IRQ_CLEAR(); USBIRQ = bmSUSP; }
Hi Thomas,
Thanks for u valuable suggestions, but what I am using is a sample code from cypress , where they have disabled AutoVector of interrupts, with
#pragma NOIV
how to enable this?? is it,
#pragma IV ???
This is the link to NON AUTOVECTOR
http://www.keil.com/support/man/docs/c51/c51_nointvector.htm
you have also mentioned jumptable.a51, but i dont find such file anywhere, but i have got dscr.a51 file which only defines USB paramaters in assembly.
Please tell me how to enable vector table and how to to run this code..
Rajesh
"they have disabled AutoVector of interrupts, with #pragma NOIV"
No: that has nothing to do with Auto-Vectoring!
That is a standard Keil feature that controls vector generation for any 8051 processor.
Quite possibly, they need to use that to disable Keil's standard vector generation so that their own proprietary Auto-Vector generation can work.
This will be specific to the Cypress chips, so you need to study the Cypress documentation about this!