1. This forum section is a read-only archive which contains old newsgroup posts. If you wish to post a query, please do so in one of our main forum sections (here). This way you will get a faster, better response from the members on Motherboard Point.

problem in external interrupt handling in ARM LPC2138

Discussion in 'Embedded' started by abhay, Apr 4, 2007.

  1. abhay

    abhay Guest

    hiiii

    i am using ARM LPC2138 for my application.For one of my devices i am
    using its external interrupt pin .i am compliling my code in ARM
    mode.i am able to compile my code in KEIL as well as GCC without any
    warning.i am printing some values in my ISR routine.

    the problem is:
    After executing the isr the system halts. Please suggest what could be
    the problem.

    i am initialising my external interrupt registers EXTMODE & EXTPOLAR
    to 0x00
    and interrupt vector registers as follows:

    VICINTSELECT &= ~0x00004000;
    VICINTCTRL14 = ( unsigned long
    int )external_isr ;..................address of external isr routine
    VICINTCTRL14 = 0x0000002E ;
    VICINTENABLE |= 0x00004000;

    in my isr i m printing some random values and resetting the flags and
    interrupt vector address as follows:

    EXTINT |= 0x01 ;
    VICVECTADDR = 0x00000000; resetting the interrupt vector address to 0


    Please suggest what could be the problem.
    thank you
     
    abhay, Apr 4, 2007
    #1
    1. Advertisements

  2. abhay

    Ali Guest

    And what do you have in your isr? maybe isr is causing the system
    halt.

    ali
     
    Ali, Apr 4, 2007
    #2
    1. Advertisements

  3. abhay

    MisterE Guest

    Does your ISR return and function correctly? Vector does not look right...
     
    MisterE, Apr 4, 2007
    #3
  4. abhay

    Tom Lucas Guest

    I don't think you want the VIC Vector Address set to 0x0000000 - that is
    the reset vector. You are also setting programming the Interrupt Control
    register with your vector to your handler and then overwriting it with
    the real control word. Perhaps you might want to look at putting the
    vector of your handler into the vector register for interrupt 14?
     
    Tom Lucas, Apr 4, 2007
    #4
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.