Rabbit bios and virtual driver, 1 the bios, 1 bios services – Jameco Electronics Rabbit 3000 User Manual

Page 246: Chapter 17. rabbit bios and virtual driver, Bios, Abbit, Irtual, River

Advertising
background image

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

Advertising
This manual is related to the following products: