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

CY768013A - Interrupt coding problem

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;
}

Parents
  • "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!

Reply
  • "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!

Children
No data