Want to change the source of RTEMS time tick interrupt from Timer 0 on the LEON 
to a GPIO pin.  Have had success enabling the GPIO pin for the interrupt source 
(I get Spurious Interrupt 5 messages on the gdb console - we are using GPIO 5 - 
this tells me the interrupt is happening).  When I try to use 
rtems_interrupt_catch to install a new vector isr for the GPIO, the system 
crashes.

Here is the code:

rtems_isr_entry reMapRealTimeInterrupt (void)
{
    int level;
    rtems_isr_entry old_handler;
    rtems_status_code retVal;


    rtems_interrupt_disable (level);     // disable all maskable interrupts



    retVal = rtems_interrupt_catch(         // re-map vector 5 to our handler 
(GPIO 5)
        handler,
        5,
        &old_handler);

    printf("Remap retVal:0x%x\n",retVal);



    *(unsigned int*)TIMCTR1 &= ~0x00000009; // disable timer 1 interrupt enable 
and timer enable
    *(unsigned int*)IMR &= ~0x00000040;     // mask interrupt for timer 1 
interrupt since it is no longer used
    *(unsigned int*)IMR |=  0x00000020;     // enable GPIO 5 interrupt in IMR
    *(unsigned int*)ILR |=  0x00000020;     // set interrupt 5 to be a level 1 
interrupt


    *(unsigned int*)GPIOIMR |= 0x00000020;  // enable bit 5 to cause interrupts 
(GPIO 5)
    *(unsigned int*)GPIOIER |= 0x00000020;  // set GPIO interrupt 5 to be edge 
triggered
    *(unsigned int*)GPIOIPR |= 0x00000020;  // set GPIO interrupt 5 to be 
rising edge


    rtems_interrupt_enable (level);       // enable all previously enabled 
interrupts

    return old_handler;                      // return original isr address in 
case want to restore

}

    rtems_isr handler (rtems_vector_number vector)
    {
        printf("This is irq %d.\n",vector);
        rtems_clock_tick();


    }

Can anyone help with this, or point me to example code to accomplish the same 
thing?

Effective immediately my new email address is richard.glos...@l3t.com. Please 
update your records.
_______________________________________________
users mailing list
users@rtems.org
http://lists.rtems.org/mailman/listinfo/users

Reply via email to