Interprocessor Communication
10-4
instead of interrupts, the command or data registers must be polled, not the
flag register. The flag registers are only useful for the interrupting processor
to see if the interrupted processor has responded to the interrupt by reading
the command register.
By default, these interrupts are masked by the respective processor interrupt
handler and must be unmasked for the mailbox mechanism to be used.
The following software setup procedures are provided as an example.
1) System software initializes all four of the mailboxes (during powerup or
when the system must put the mailboxes in a known state).
2) System software enables the interrupt mask in the respective interrupt
handler associated with each processor.
3) The interrupting processor writes to the mailbox data location with the data
word information when it must alert to the word for the other processor (at
this point, the associated word command for the other processor should
not have been set yet).
4) The interrupting processor writes to the mailbox command word a prede-
fined command (predefined and understood by both processors). This
write issues the interrupt to the other processor.
5) In response to the interrupt, the interrupted processor acknowledges the
interrupt by reading the mailbox registers. Reading the two locations is
performed by the software protocol; the system software must read the
data first and then read the command register (the associated interrupt
and 1-bit flag register are cleared upon read).
6) System software examines the data and command words to determine
what to do.
7) System software calls an interrupt service routine (ISR), to do whatever
processing is necessary. System software returns to normal processing.
Note:
For the mailbox interrupt procedure, the use of the data word is optional and
can be omitted. This eliminates step 3 and the first portion of step 5.
Base Address: 0xFFFC:E000 (byte) for MPU; 0x0F800 (word) for DSP