![background image](http://html2.mh-extra.com/html/rabbit/2000/2000_user-manual_3110256172.webp)
166
Rabbit 2000 Microprocessor
16.1.2 BIOS Assumptions
The BIOS makes certain assumptions concerning the physical configuration of the proces-
sor. Processors are expected to have RAM connected to /CS1, /WE1, and /OE1. Flash is
expected to be connected to /CS0, /WE0, and /OE0. (See the
Rabbit 2000 Designer’s
Handbook
Memory Planning chapter if you want to design a board with RAM only.) The
crystal frequency is expected to be n*1.8432 MHz.
The
Rabbit 2000 Designer’s Handbook
has a chapter on the Rabbit BIOS with more
details.
16.2 Virtual Driver
The Virtual Driver is compiled with the user’s application. It includes support for the fol-
lowing services.
•
Hitting the hardware watchdog timer.
•
Decrementing software watchdog timers.
•
Synchronizing the system timer variables with the real-time clock and keeping them
updated.
•
Driving uC/OS-II multi-tasking.
•
Driving slice statement multi-tasking.
16.2.1 Periodic Interrupt
The periodic interrupt that drives the Virtual Driver occurs every 16 clocks or every 488
µs. If the 32.768 kHz oscillator is absent, it is possible to substitute a different periodic
interrupt. This alternative is not supported by Z-World since the cost of connecting a crys-
tal is very small. The periodic interrupt keeps the interrupts turned off (that is, the proces-
sor priority is raised to 1 from zero) for about 75 clocks, so it contributes little to interrupt
latency.
The periodic interrupt is turned on by default before
main()
is called. It can be disabled if
needed. The
Dynamic C Users’s Manual
chapter on the Virtual Driver provides more
details on the periodic interrupt.
The Rabbit 2000 microprocessor requires the 32 kHz oscillator in order to boot via
Dynamic C, unless a custom loader and BIOS are used.
16.2.2 Watchdog Timer Support
A microprocessor system can crash for a variety of reasons. A software bug or an electri-
cal upset are common reasons. When the system crashes the program will typically settle
into an endless loop because parameters that govern looping behavior have been cor-
rupted. Typically, the stack becomes corrupted and returns are made to random addresses.
The usual corrective action taken in response to a crash is to reset the microprocessor and
reboot the system. The crash can be detected either because an anomaly is detected by pro-
Summary of Contents for 2000
Page 1: ...Rabbit 2000 Microprocessor User s Manual 019 0069 041018 M...
Page 12: ...6 Rabbit 2000 Microprocessor...
Page 46: ...40 Rabbit 2000 Microprocessor...
Page 54: ...48 Rabbit 2000 Microprocessor...
Page 76: ...70 Rabbit 2000 Microprocessor...
Page 96: ...90 Rabbit 2000 Microprocessor...
Page 142: ...136 Rabbit 2000 Microprocessor...
Page 154: ...148 Rabbit 2000 Microprocessor...
Page 170: ...164 Rabbit 2000 Microprocessor...
Page 174: ...168 Rabbit 2000 Microprocessor...
Page 180: ...174 Rabbit 2000 Microprocessor...
Page 202: ...196 Rabbit 2000 Microprocessor...
Page 206: ...200 Rabbit 2000 Microprocessor...
Page 226: ......
Page 230: ...224 Rabbit 2000 Microprocessor...