2.1. Setting the DIP switches

The 4-pole DIP switch (S2) is used to control system startup. At reset, S2[1] is assigned a special meaning by the hardware. The switch settings can be read from the LED and switch register (LED_SWITCHES).


Check the documentation provided with your core module for CM-specific details on image selection and startup.

Switches S2[2] and S2[3] are not used to control startup. After the system has started, all of S2[4:1] can be assigned any meaning required by the system developer.

S2[1] is used to control where code execution begins (S2[1] is sampled by hardware). The boot switcher component of the ARM Firmware Suite then uses S2[4] to select whether to jump to the user area of the flash or to remain in a loop polling for serial input. The switch settings are shown in Table 2.1 (where x = do not care).

Table 2.1. DIP switch settings





Code execution start location following reset





The boot code area of the flash. The boot monitor banner is output on serial port A. The boot monitor can be controlled by a dumb terminal or terminal emulator.





The boot code area of the flash following reset, then control jumps to the user code area of flash.

OFFxxxUser code area of flash following reset.

To communicate with the boot monitor, connect a terminal using a null-modem cable to serial port A (J17). See Using the ARM Firmware Suite boot monitor. The boot monitor only runs if S2[1] is in the ON position. For information about the flash memory see Flash memory.


Switches S2[3:2] might be used by programs such as the boot monitor for other configuration options. (For example, on some versions of boot monitor for the CP9x6E-S, switch S2[2] turns the PLL on or off.)

See the ARM Firmware Suite Reference Guide for more information on the boot monitor.

Copyright © 2002 ARM Limited. All rights reserved.ARM DUI 0159B