eForth for the Rabbit 2000
based on eForth by Bill Muench.
eForth can be used for educational, non-commercial purposes.
Description of the Rabbit2000 eForth implementation
eForth Glossary (pdf 42K)
Loading Forth
If you just want to run eForth on a RCM2300, you can use the programming
cable
( Rabbit Semiconductor part number 101-0513 http://www.rabbitsemiconductor.com/store/ )
to load this binary image (which uses
serial port A) with the Rabbit Field Utility (RFU).
1 Get the latest
RFU from Rabbit Semiconductor.
2 Unzip the RFU and the binary image.
3 At a command prompt, type: clRFU
loader_REVe.bin -v -s 2:115200
D:\DCRABBIT_720SE>clrfu
loader_reve.bin -v -s 2:115200
Rabbit Field Utility - version 2.33
Sending Coldloader
891 of 55545 bytes sent
Sending Pilot BIOS
6209 of 55545 bytes sent
Erasing flash
Sending Program
55545 of 55545 bytes sent
Elapsed Time: 19.5 seconds
CLRFU version 2.20 fails!
4 Turn off power to the RCM2300, switch the
cable connector from "PROG" to "DIAG"
and turn the
power back on. The baud rate is 19200.
Build your own using Dynamic-C
This program illustrates how to write assembly code for the Rabbit2000 using
a
macro cross assembler and how to use Dynamic-C to load the binary produced
by the assembler.
The Dynamic-C program uses #ximport to place the binary image in flash memory
and xalloc to allocate memory in RAM. It moves the binary image from flash
to RAM using xmem2xmem. Finally, it uses the memory management unit (MMU)
to place the allocated RAM in the logical address space starting at address
zero.
Source files (zip 25K)
Dynamic C file (10K) and binaries (zip 5K) to build executable.
If you're using a Dynamic C version older than 6.57, upgrade!
(30may03: Dyn-C version 7.21 doesn't support flash/forget using
writeflash. I have a plan to fix, but no time.)
To make changes to the Forth image (binary), e.g. to change the serial port,
you'll need:
AS, a free, portable macro cross assembler: http://www.alfsembler.de/
eForth programs
Set and read the real-time-clock: rabbit_rtc.txt
Load Intel16 .hex files: HexLoad.txt