Jameco Electronics 3000 Manual Do Utilizador

Página de 349
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.