This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Create interrupt problem
- From: "Vikas K. Prasad" <vikas dot prasad at ittiam dot com>
- To: <ecos-discuss at sources dot redhat dot com>
- Cc: "Vikas K. Prasad" <vikas dot prasad at ittiam dot com>
- Date: Tue, 5 Oct 2004 19:54:20 +0530
- Subject: [ECOS] Create interrupt problem
Hi,
I was unable to attach an ISR properly. I am using a custom
board (with excalibur on it) on which the basic ecos features
are working and now I am testing the interrupts.
I used the following command:
cyg_interrupt_create((cyg_vector_t)TIMER1_VECTOR, /* Vector */
(cyg_priority_t)TIMER1_PRI, /* Priority */
TIMER1_DAT, /* Interrupt data */
(cyg_ISR_t*)timer1_isr, /* ISR handler */
(cyg_DSR_t*)timer1_dsr, /* DSR handler */
&timer1_handle, /* Interrupt handle */
&timer1_obj);
With this after execution of the command I see that some
junk values are stored in timer1_obj.
(gdb) p/x * (cyg_interrupt*)timer1_obj
$16 = {vector = 0xe3a00a40, priority = 0xe3a01880, isr = 0xe0410000,
dsr = 0xe04ff000, data = 0xe1a00000, dsr_count = 0xe59f022c,
next_dsr = 0xe3a01007}
Because of this, hal_default_isr() is called and my ISR is never
hit. Can you please give me some clues as to where the problem
lies ? I am suspecting that the ISR routines are not not attached
properly. Anything that I need to specifically do in the platform
port for this?
Regards,
Vikas
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss