02.03.2014 Views

BSP Developer's Guide

BSP Developer's Guide

BSP Developer's Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

2<br />

<strong>BSP</strong> Organization<br />

PCI_MSTR_IO_LOCAL Local address mapped into PCI I/O window.<br />

PCI_MSTR_MEMIO__SIZE Size of the window onto PCI memory<br />

(non-prefetched).<br />

PCI_MSTR_MEMIO_BUS Bus address of PCI non-prefetched memory<br />

window.<br />

PCI_MSTR_MEMIO_LOCAL Local address mapped into non-prefetched<br />

window.<br />

Not all PCI spaces are implemented in every situation. Note that there are different<br />

windows mapping main memory. The default window is for prefetchable memory<br />

operations. The second window, PCI_MSTR_MEMIO, is for performing<br />

non-prefetchable operations. One or both of these windows to main memory is<br />

always mapped. Our standard signal to disable a window is to set the size value<br />

to zero, which should disable access from local memory to that space.<br />

For more information on PCI macros, please refer to Wind River Technical Note #49.<br />

2<br />

romInit.s<br />

Network Device and Interrupt Vector. If this <strong>BSP</strong> uses external boards for network<br />

devices, then the bus addresses and interrupt vector assignments are user options<br />

presented in config.h.<br />

bspname.h. This file is normally included after all option selections. This allows<br />

tests to be inserted into bspname.h to check for proper selection combinations. An<br />

example would be a board that has two different Ethernet options, only one of<br />

which can be selected at a time. In this case, the bspname.h file would check to see<br />

if both were defined and generate an error message, if necessary.<br />

Another example would be to add additional features required to support a<br />

user-selected feature. For example, the user might select NFS support, and the<br />

bspname.h file would add RPC and network support as being required to support<br />

NFS. This is precisely what usrExtra.c does for usrConfig.c. Of course, this is just<br />

a hypothetical illustration of the concept, not an actual example.<br />

This file contains the assembly language source for initialization code that is the<br />

entry point for the VxWorks boot ROMs and ROM-based versions of VxWorks.<br />

The entry point, romInit( ), is the first code executed on power-up. It sets the<br />

BOOT_COLD parameter to be passed to the generic romStart( ) routine. If the<br />

hardware requires immediate memory mapping or setting special registers,<br />

handle it here. Most hardware initialization occurs using the sysHwInit( ) routine<br />

in sysLib.c.<br />

23

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

Saved successfully!

Ooh no, something went wrong!