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.

VxWorks 5.5<br />

<strong>BSP</strong> Developer’s <strong>Guide</strong><br />

Exist type parameters are #defined if their value is TRUE and #undefined if<br />

FALSE.<br />

DEFAULT<br />

The default value of the parameter, which appears above the list of parameter<br />

IDs in the Params tab of the project facility Properties window, as shown in<br />

Figure 6-3.<br />

Initialization Groups<br />

A component must include information that controls how it is integrated into an<br />

executable “system image,” for example, an initialization routine and a description<br />

of when in the initialization sequence that routine should be called. Initialization<br />

groups or initGroups assemble related components for initialization and, thus,<br />

define the system startup sequence. Initialization group hierarchy is run-time<br />

related only and has no impact on the GUI.<br />

For Tornado 1.0.1, the initialization order was determined in<br />

target/config/all/usrConfig.c or target/src/config/*.c files and surrounded by<br />

#ifdef/#endif statements, as follows:<br />

#if defined(INCLUDE_EXC_HANDLING) && defined(INCLUDE_EXC_TASK)<br />

excInit (); /* initialize exception handling */<br />

#endif /* defined(INCLUDE_EXC_HANDLING) && defined(INCLUDE_EXC_TASK) */<br />

#ifdef INCLUDE_LOGGING<br />

logInit (consoleFd, MAX_LOG_MSGS); /* initialize logging */<br />

#endif /* INCLUDE_LOGGING */<br />

...<br />

The <strong>BSP</strong> file sysLib.c determined (and still does) the order of most board hardware<br />

initialization.<br />

An initGroup is a routine from which components and other initGroups are called.<br />

The code in the routine is determined by the included components and their<br />

initialization code fragments. For example:<br />

InitGroup usrIosExtraInit {<br />

INIT_RTN usrIosExtraInit ();<br />

SYNOPSIS extended I/O system<br />

INIT_ORDER INCLUDE_EXC_TASK \<br />

INCLUDE_LOGGING \<br />

...<br />

}<br />

124

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

Saved successfully!

Ooh no, something went wrong!