[ECOS] Interrupt vectors - idea of IRQ and interrupt name

Nodir Qodirov nodir.qodirov@gmail.com
Sun Aug 23 15:31:00 GMT 2009

Hello everybody!

I am trying to understand eCos interrupt mechanism (maybe interrupt
mechanism itself in general). And now I have question may seem to be
too simple, which every Embedded System developer should know. But I
couldn't figure out:

1) Why do we have same values assigned to the eCos interrupts names
and IRQs? Are they somehow mapped to each other through same value
(32, 33, 34...).
2) Why value assigned starting from 32 (can't be it from "0")?

I have found in packages\hal\i386\pcmb\current\include\pcmb_intr.h file:

// Interrupt vectors.
#define CYGNUM_HAL_INTERRUPT_IRQ0                32
#define CYGNUM_HAL_INTERRUPT_IRQ1                33
#define CYGNUM_HAL_INTERRUPT_IRQ2                34
#define CYGNUM_HAL_INTERRUPT_IRQ15               47

#define CYGNUM_HAL_INTERRUPT_TIMER                    32
#define CYGNUM_HAL_INTERRUPT_SLAVE8259            34
#define CYGNUM_HAL_INTERRUPT_HDD                       46

Comment on file says "This file contains info about interrupts and
peripherals that are common on all PCs; for example, the clock always
activates irq 0 and would therefore be listed here." But I couldn't
catch idea. Any resource to get more information to get better
understanding of eCos interrupt mechanism?

Thanking in advance,

Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

More information about the Ecos-discuss mailing list