02.03.2014 Views

BSP Developer's Guide

BSP Developer's Guide

BSP Developer's Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4<br />

Hardware <strong>Guide</strong>lines<br />

Hardware Interrupts<br />

Hardware bus interrupts are not used. Instead, messages are used to convey<br />

information (such as device ready) or the actual I/O data. Message passing<br />

provides a reliable and easily expandable means of sending information between<br />

Multibus II agents. All backplane communications between agents can be handled<br />

with messages. No master/slave memory interfaces are required – in fact, memory<br />

interfaces are discouraged for use in communicating between boards. Because<br />

messages contain data, a block of I/O data can be transferred in the same message<br />

as the status or attention information. No memory addressing conflicts arise on the<br />

bus and there are no bus memory caching problems because messages are sent<br />

between agents, not memory addresses.<br />

4<br />

Processor Number<br />

Initialization<br />

Multibus boards are slot independent. At system initialization, the system<br />

controller (slot 0) sends slot ID numbers to each board. The initialization software<br />

on each board then sets up message IDs.<br />

During initialization, any or all boards can use the interconnect space to locate<br />

specific boards on the bus. For example, each device driver can search the bus for<br />

boards that it “recognizes” and can control. This method allows board types and<br />

locations and the system configuration to be determined at run time. Interconnect<br />

registers and the data contained in interconnect records are defined by Intel.<br />

Vendors who comply with the Intel specification identify themselves (via<br />

interconnect data) as compliant. Non-compliant boards may be used; such boards<br />

identify themselves as non-compliant.<br />

Message Passing Protocol<br />

Device Drivers<br />

Intel has defined a transport protocol for use in sending messages; this protocol is<br />

used by many board vendors. This makes adding new device devices easy because<br />

the basic communication between agents uses existing message passing routines<br />

and conventions. There is usually no hardware-specific code that needs to be<br />

written to add a new device once the initial message-passing driver is in place.<br />

A <strong>BSP</strong> normally includes one hardware device driver for the MPC chip (message<br />

passing coprocessor) and a transport software module. All VxWorks I/O device<br />

drivers send or receive messages by communicating on a software level with the<br />

transport layer (or directly with the MPC driver, if necessary). The transport layer<br />

75

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

Saved successfully!

Ooh no, something went wrong!