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.

VxWorks 5.5<br />

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

In addition to the steps described in B.2.1 Migration Changes Common to All<br />

Architectures, p.214, the following XScale/StrongARM-specific changes are<br />

required to migrate your custom <strong>BSP</strong> to Tornado 2.2/VxWorks 5.5:<br />

■<br />

For assembly files only: the new macros GTEXT, GDATA, FUNC, and<br />

FUNC_LABEL have been added to assist in porting assembly files. The leading<br />

underscores in global assembly label names should be removed. Using these<br />

macros allows source compatibility between Tornado 2.1.x and Tornado 2.2.<br />

■<br />

Diab support. Due to differences in assembler syntax between the GNU and<br />

Diab toolchains, you need to change any GNU assembly macros to Diab<br />

syntax. For more information on Diab assembly syntax, see the Diab C/C++<br />

Compiler for ARM User’s <strong>Guide</strong>.<br />

For more information on using VxWorks with XScale/StrongARM targets, see the<br />

VxWorks for Intel XScale/StrongARM Architecture Supplement.<br />

B.2.9 SuperH<br />

In addition to the steps described in B.2.1 Migration Changes Common to All<br />

Architectures, p.214, the following SuperH-specific changes are required to migrate<br />

your custom <strong>BSP</strong> to Tornado 2.2/VxWorks 5.5:<br />

■<br />

■<br />

■<br />

Power management setup. This step is required for <strong>BSP</strong>s where processor<br />

power management is enabled. In the sysHwInit( ) routine in sysLib.c.<br />

initialize the vxPowerModeRegs structure depending on the SuperH<br />

processor used.<br />

Diab support. This step is only required if the <strong>BSP</strong> will be built with the Diab<br />

toolchain. Assembler files should be updated to use the .short directive instead<br />

of the .word directive.<br />

Use of NULL. In previous releases, NULL was defined as integer zero. This<br />

definition has been changed to match the C standard to a void pointer. To<br />

avoid compiler warnings, make sure NULL is only used for pointer<br />

assignments.<br />

For more information on using VxWorks with SuperH targets, see the VxWorks for<br />

Hitachi SuperH Architecture Supplement.<br />

220

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

Saved successfully!

Ooh no, something went wrong!