blueDonkey.org

Books.VxWorksCookbookArchSpecific

Architecture Specific Hints


ARM, StrongARM and XScale

Alignment Exception

The unaligned access exception that can be enabled or disabled in ARM family CPUs must be left disabled for VxWorks systems. This is because there is an optimisation that is used in some of the hand coded assembler portions of the kernel, and can also be generated in certain circumstances by the compiler, that makes use of a feature in the ARM instruction set when loading from an unaligned address.

The special behaviour is described in the ARM Architecture Reference Manual (ISBN: 0-13-736299-4) in the description of the load register instruction, LDR. The relevant sentence reads:

"If the address is not word-aligned, the loaded data is rotated so that the addressed byte occupies the least-significant byte of the register."

MIPS

Pentium & i86

Console Selection

The i86 architecture, since most boards based on it have support for a VGA compatible screen and a PC style keyboard, comes with the option of having the VxWorks console use the VGA screen for output (in simple 80x25 character mode) and the PC keyboard for input. This type of console is often referred to as "PC console" mode.

In earlier versions, the PC console mode was the default setting for i86 BSPs, such as pc486 or pcPentium. In VxWorks AE 1.x and VxWorks 5.5, the default was changed to be the serial port, in line with other VxWorks architectures. So, on these newer systems, when booting the last output that will be seen on the PC's screen will be the '+' signs from VxLD (the primary boot loader).

To switch back to the PC console mode, make sure the INCLUDE_PC_CONSOLE component is included in your project (or make sure that the macro INCLUDE_PC_CONSOLE is defined if you are using command line building). One VGA and one keyboard driver will also be needed from the following selection:

INCLUDE_I8042KBD
INCLUDE_I8048KBD
INCLUDE_M6845VGA
INCLUDE_CTB69000VGA
Normally, the I8042KBD and M6845VGA driver components will work (most others are compatible with these at the level necessary for the console).

When using the "PC" console, the following configuration parameters might be interesting:

PC_CONSOLE           -- console number, normally 0
N_VIRTUAL_CONSOLES   -- number of virtual consoles
PC_KBD_TYPE          -- PC_PS2_101_KBD or PC_XT_83_KBD

To revert to the serial console mode, simply remove the INCLUDE_PC_CONSOLE component, or undefine the macro.

PowerPC

Hitachi SH

Other

-- JohnGordon - 22 Mar 2003

 
 
© 2003-5 blueDonkey.org, except where otherwise noted. All rights reserved.