3 cold boot – Jameco Electronics Rabbit 3000 User Manual

Page 61

Advertising
background image

52

Rabbit 2000 Microprocessor

4.3 Cold Boot

Most microprocessors start executing at a fixed address, often address zero, after a reset or
power-on condition. The Rabbit has two mode pins (SMODE0, SMODE1—see Figure 5-
1
). The logic state of these two pins determines the startup procedure after a reset. If both
pins are grounded, then the Rabbit starts executing instructions at address zero. On reset,
address zero is defined to be the start of the memory connected to the memory control
lines /CS0, and /OE0. However, three other startup modes are available. These alternate
methods all involve accepting a data stream via a communications port that is used to store
a boot program in a RAM memory, which in turn can be used to start any further second-
ary boot process, such as downloading a program over the same communications port.
(For a detailed description, see Section 7.11, “Bootstrap Operation.”)

Three communication channels may be used for the bootstrap, either Serial Port A in asyn-
chronous mode at 2400 bps, Serial Port A in synchronous mode with an external clock, or
the (parallel) slave port.

The cold-boot protocol accepts groups of three bytes that define an address and a data
byte. Each triplet causes a write of the data byte to either memory or to internal I/O space.
The high bit of the address is set to specify the I/O space, and thus writes are limited to the
first 32K of either space. The cold boot is terminated by a store to an address in I/O space,
which causes execution to begin at address zero. Since any memory chip can be remapped
to address zero by storing in the I/O space, RAM can be temporarily be mapped to zero to
avoid having to deal with the more complicated write protocol of flash memory, which is
the usual default memory located at address zero.

The following are the advantages of the cold-boot capability.

Flash memory can be soldered to the microprocessor board and programmed via a
serial port or a parallel port. This avoids having to socket the part or program it with a
BIOS or boot program before soldering.

Complete reprogramming of the flash memory can be accomplished in the field. This is
particularly useful during software development when the development platform can
perform a complete reload of software regardless of the state of the existing software in
the processor. The standard programming cable for Dynamic C allows the development
platform to reset and cold boot the target, a Rabbit-based microprocessor board.

If the Rabbit is used as a slave processor, the master processor can cold boot it over via
the slave port. This means the slave can operate without any nonvolatile memory. Only
RAM is required.

Advertising
This manual is related to the following products: