[Tinyos-beta-commits] CVS: tinyos-1.x/beta/platform/pxa27x
PXA27XInterruptM.nc, 1.2, 1.3
Konrad Lorincz
konradlorincz at users.sourceforge.net
Thu Aug 25 15:56:23 PDT 2005
Update of /cvsroot/tinyos/tinyos-1.x/beta/platform/pxa27x
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1382
Modified Files:
PXA27XInterruptM.nc
Log Message:
Fixed bug which prevented the interrupt from firing for peripheral IDs greater than 32. There is an error in the PXA27X manual: The manual claims that the highest peripheral ID is 39. However, in the ICHP (highest-priority) register it only lists 5 bits for the peripheral ID 2^5=32. However, it's at least 6 bits, otherwise it would not be able to identify peripherals higher than 32.
Index: PXA27XInterruptM.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/platform/pxa27x/PXA27XInterruptM.nc,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** PXA27XInterruptM.nc 24 Aug 2005 21:17:27 -0000 1.2
--- PXA27XInterruptM.nc 25 Aug 2005 22:56:20 -0000 1.3
***************
*** 65,69 ****
while (IRQPending & (1 << 15)) {
! uint8_t PeripheralID = (IRQPending & 0x1f); // Get rid of the Valid bit
signal PXA27XIrq.fired[PeripheralID](); // Handler is responsible for clearing interrupt
IRQPending = ICHP; // Determine which interrupt to service
--- 65,69 ----
while (IRQPending & (1 << 15)) {
! uint8_t PeripheralID = (IRQPending & 0x3f); // Get rid of the Valid bit
signal PXA27XIrq.fired[PeripheralID](); // Handler is responsible for clearing interrupt
IRQPending = ICHP; // Determine which interrupt to service
***************
*** 82,86 ****
while (FIQPending & (1 << 15)) {
! uint8_t PeripheralID = (FIQPending & 0x1f); // Get rid of the Valid bit
signal PXA27XFiq.fired[PeripheralID](); // Handler is responsible for clearing interrupt
FIQPending = ICHP;
--- 82,86 ----
while (FIQPending & (1 << 15)) {
! uint8_t PeripheralID = (FIQPending & 0x3f); // Get rid of the Valid bit
signal PXA27XFiq.fired[PeripheralID](); // Handler is responsible for clearing interrupt
FIQPending = ICHP;
More information about the Tinyos-beta-commits
mailing list