Adding New Hardware Interrupts

Robert S. Grimes rsg at alum.mit.edu
Tue Apr 8 13:58:19 UTC 2008


Hi all,

I am using the PowerPC/Virtex BSP to develop several cooperating 
applications built on (physically) identical processor boards; however, 
the boards are mated to different "analog I/O" boards to support the 
different mix of external actuators and sensors.  So, the FPGA 
configurations are different for each instance, though they share a core 
set of peripherals (e.g. interrupt controller, console I/O, networking, 
two SPI controllers, etc.); each instance adds additional peripherals, 
as needed.

My ideal approach here is to only deal with one BSP for all processors, 
for the obvious reasons, and add support for the additional devices at 
the "application level".  This seems rather straightforward, until the 
issue of interrupts come in.

Is the interrupt manager (i.e. rtems_interrupt_XXX() family of 
functions) the way to go here?  How do I determine the 
rtems_vector_number for the interrupt_catch() function? 

My suspicion is that in "normal" cases, the vector numbers are defined 
by the BSP - is that correct?  But here, I have interrupts that are not 
known to the BSP, so I think I need to use BSP-level interrupt 
facilities, that are not well documented, at least not that I'm aware 
of.  Am I correct in this assumption?  And if so, where do I get more 
information on this level?

As you can see, the configurability of the Virtex really stresses the 
BSP notion - instead of a single, static board, there are a multitude of 
possibilities...

Thanks,
-Bob



More information about the users mailing list