The Rabbit
2000 BIOS The Dynamic C programming system for the Rabbit uses the concept
of a BIOS (basic input output system). The BIOS is a program that contains the
basic code needed to interface with Dynamic C and handles startup, shutdown and
various basic features of the Rabbit. It also normally contains a software interface
to the user's particular hardware. When you compile a program under Dynamic C,
the BIOS is compiled first as an integral part of your program. The BIOS is customized
for each different controller board and has declarations at the start of the code
that define the hardware configuration and use options. Rabbit Semiconductor
provides the full source code for the BIOS so that you don't have to re-invent
this software. Further, by using our well-tested BIOS you greatly reduce the possibility
of errors and bugs. The BIOS supports the following services.
- System startup, including setup of memory, wait states and clock speed.
- Reading
and programming the timers, real-time clock, and periodic interrupt.
- Counting
ticks, milliseconds and seconds since January 1, 1980.
- Operation of the
watchdog timer and virtual watchdog timers.
- Adjustment of the system clock
speed for power management.
- Set up of the operation mode of the parallel
ports and parallel port I/O Writing flash memory with built-in protection of the
system identification area.
- Maintenance of error and operation logs and
handling fatal errors and watchdog timeouts.
- Multitasking services.
- Loading
field modifiable parameters via the programming port. Useful for items such as
network address settings, calibration constants, and real-time clock values.
- Download
managent.
- Modbus slave. (what is a modbus slave?)
BIOS
flowchart
Choose your BIOS Several general-purpose, skeleton BIOSs are supplied
in source form with Dynamic C. These will allow you to boot Dynamic C on any Rabbit-based
system that follows the basic design rules needed to support Dynamic C. The BIOS
requires either a 128KB RAM or a 32KB RAM coupled with a flash memory. Adapting
a BIOS to your system will be simplified by using a flash memory from the list
of chips supported by the skeleton BIOS. Usually changing declarations
at the beginning of the selected skeleton BIOS is sufficient to allow Dynamic
C to boot. Once you have booted Dynamic C on your hardware you can modify the
BIOS to add control of system dependent features. Changes can be made one step
at a time, making it easy to detect any problems. BIOS Startup Modes
A data area in the code space starting at the BIOS start address plus 16 is used
to support special operation modes. Three bits in the first byte of that area
are used to select the BIOS startup modes as follows: Bit 1: This
indicates that the BIOS has been started during the original compile of the BIOS.
In this case the BIOS many need to perform housekeeping tasks that aren't required
on subsequent startups. An example is relocating itself to flash memory.
Bit 2: This indicates that the BIOS is being used by another program as
a program loader so that the loading system does not have to have a detailed knowledge
of the flash memory write algorithm. First the BIOS is loaded into RAM so that
the flash may be rewritten. Bit 4: This bit indicates that the
BIOS has been called from another program and that the memory bank control registers
should not be changed. This allows programs to be run as slaves to another program
by running them in RAM or in a different part of flash memory from what was originally
intended. Return
to top Copyright
© 2001 Rabbit Semiconductor. All Rights Reserved |