/* Reads a block of data from a remote CPU system address and stores into shared RAM */
void IPCRtoLBlockRead(tIpcMessage *psMessage)
/* Reads a block of data from a remote CPU system address and stores into shared RAM */
void IPCRtoLBlockRead(tIpcMessage *psMessage)
{
    uint16_t usLength;
    volatile uint16_t* pusRAddress;
    volatile uint16_t* pusWAddress;
    uint16_t usIndex;
    pusRAddress = (volatile uint16_t *)psMessage->uladdress;
    pusWAddress = (volatile uint16_t *)psMessage->uldataw2;
    usLength = (uint16_t)psMessage->uldataw1;
    for (usIndex=0; usIndex<usLength; usIndex++)
    {
        *pusWAddress = *pusRAddress;
        pusWAddress += 1;
        pusRAddress += 1;
    }
    IpcRegs.IPCACK.all |= (psMessage->uldataw1 & 0xFFFF0000);
}