On Sat, Nov 22, 2008 at 05:05:52PM +0100, Martin Laabs wrote: > Hi, > > the CYGPKG_IO_SERIAL_ARM_LPC2XXX package support up to two serial > devices. Therefore it uses the VIC (vectored interrupt controller) > of the LPC devices. If both channels are enables in the configtool > both will also get the same interrupt priority. This is not possible > with the LPC VIC and causes, that only the last interrupt is > enables and the first one generates "spurious interrupts" (from eCos > point of view) that leads to data fetch and illegal instruction > exeptions. > > I added support to assign the priority in the configtool/driver. Hi Martin I extended the patch a little. I added a ChangeLog entry and some CDL as i suggested to ensure the priorities are different between the serial ports. However if some other device is using the same priority this will not be detected. The correct place to fix that is in the HAL. Humm, interesting. If you have asserts enabled, which you should when developing, the function hal_interrupt_set_level() has: CYG_ASSERT((reg_val == 0) || (reg_val == (vector | 0x20)), "Priority already used by another vector"); Andrew