29.11.2014 Views

Fast Models Reference Manual - ARM Information Center

Fast Models Reference Manual - ARM Information Center

Fast Models Reference Manual - ARM Information Center

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Peripheral and Interface Components<br />

Figure 5-60 on page 5-136 shows a view of the component in System Canvas.<br />

This component is written in LISA+.<br />

Figure 5-61 MessageBox component in System Canvas<br />

Ports<br />

Table 5-113 provides a brief description of the MessageBox component ports.<br />

Name Port protocol Type Description<br />

Table 5-113 MessageBox ports<br />

pvbus_s PVBus Slave Provides memory mapped access to the<br />

MessageBox registers and shared buffer.<br />

message MessageBox Slave Delivers messages to the parent<br />

component, and receives messages from<br />

the parent for delivery to the target<br />

driver.<br />

intr Signal Master Optional interrupt line used to indicate<br />

availability of incoming message data.<br />

Alternatively the status register can be<br />

polled.<br />

MessageBox<br />

The MessageBox component has one additional protocol.<br />

The message port implements half of a protocol for communication with a parent device. The<br />

other half is implemented by the parent device. When the CONTROL register is written to with<br />

the MBOX_CONTROL_END value, the data between the START and END offsets in the<br />

buffer are sent by reference to the parent device. Either during this call, or afterwards, the parent<br />

device is free to invoke the other message behaviors to set up an incoming packet and set the<br />

RXREADY signal.<br />

The protocol behaviors are:<br />

begin_msg(void** buffer, uint32_t len)<br />

Returns a pointer to the buffer for sending a message. len is ignored.<br />

end_msg(uint32_t len)<br />

Sets the START/END registers to indicate the start and end of the message in the<br />

buffer and sets the RXREADY signal.<br />

message(const void* buffer, uint32_t len)<br />

Indicates that a message has been received, and the contents are in the buffer with<br />

a length of len bytes. This behavior must be implemented by the parent device.<br />

cancel_msg()<br />

Cancel a message.<br />

<strong>ARM</strong> DUI 0423J Copyright © 2008-2011 <strong>ARM</strong>. All rights reserved. 5-138<br />

ID051811<br />

Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!