User’s Manual
237
17. R
ABBIT
BIOS
AND
V
IRTUAL
D
RIVER
When a program is compiled by Dynamic C for a Rabbit target, the Virtual Driver is auto-
matically incorporated into the program. Virtual Driver is the name given to some initial-
ization routines and a group of services performed by the periodic interrupt. The Rabbit
BIOS, software that handles startup, shutdown and various basic features of the Rabbit, is
compiled to the target along with the application program.
Z-World provides the full source code for the BIOS and Virtual Driver so the user can
modify them and examine details of the operation that are not apparent from the documen-
tation.
More details on the BIOS and Virtual Driver software can be found in the
Dynamic C
User’s Manual
, the
Rabbit 3000 Designer’s Handbook
, and the source code in the
Dynamic C libraries.
17.1 The BIOS
The BIOS provided with Dynamic C will work with all Z-World and Rabbit Semiconduc-
tor Rabbit board products.
The BIOS is compiled separately from the user’s application. It occupies space at the bot-
tom of the root code segment. When execution of the user’s program starts at address zero
on power-up or reset, it starts in the BIOS. When Dynamic C cold-boots the target and
downloads the binary image of the BIOS, the BIOS symbol table is retained to make its
entry points and global data available to the user application. Board specific drivers are
compiled with the user’s program after the BIOS is compiled.
17.1.1 BIOS Services
The BIOS includes support for the following services.
•
System startup: including setup of memory, wait states and clock speed.
•
Writing to flash. Writes to the primary code memory require turning off interrupts for
up to 20 ms or so. To protect the System Identification Block (see the
Rabbit 3000
Designer’s Handbook
for more information on the System ID Block), the flash driver
will not write to that block. A routine that can actually write this block is not included
in the BIOS to make it hard to accidently corrupt this block.
•
Run-time exception handling and logging to handle fatal errors and watchdog time-outs
(error logging not implemented in older versions).
•
Debugging and PC-target communication
Summary of Contents for Rabbit 2000
Page 2: ...Rabbit 3000 Microprocessor User s Manual 019 0108 040731 O ...
Page 9: ...Rabbit 3000 Microprocessor ...
Page 29: ...20 Rabbit 3000 Microprocessor ...
Page 64: ...User s Manual 55 5 PIN ASSIGNMENTS AND FUNCTIONS ...
Page 79: ...70 Rabbit 3000 Microprocessor ...
Page 80: ...User s Manual 71 6 RABBIT INTERNAL I O REGISTERS ...
Page 123: ...114 Rabbit 3000 Microprocessor ...
Page 137: ...128 Rabbit 3000 Microprocessor ...
Page 157: ...148 Rabbit 3000 Microprocessor ...
Page 207: ...198 Rabbit 3000 Microprocessor ...
Page 249: ...240 Rabbit 3000 Microprocessor ...
Page 255: ...246 Rabbit 3000 Microprocessor ...
Page 277: ...268 Rabbit 3000 Microprocessor ...
Page 343: ...334 Rabbit 3000 Microprocessor ...
Page 345: ......