/OpenRabbit

Loader and Debugger for Rabbit Semiconductor µC, such as the Rabbit 2000, Rabbit 3000, and Rabbit 4000.

Primary LanguageCOtherNOASSERTION

What is OpenRabbit?

A free portable replacement for the Digi Rabbit Field Utility and an on-target debugger. This allows Rabbit development on OSes other than Windows. The on-target debugger currently only works with programs created using the non-free Dynamic C (which can be run .e.g via wine).

A free inital loader (coldload.bin) and secondary loader (pilot.bin) are included in OpenRabbit, but it will also work with loader binary blobs from Dynamic C 8 or 9.

See BUILD for how to build it.

Use:

OpenRabbit supports two modes:

* Rabbit Field utility mode, invoke as "openrabbitfu". Flashing only. Works with files from any source, including SDCC and Dynamic C.
* OpenRabbit mode, invoke as "openrabbit". Debugging support. Requires files from Dynamic C.

Example:

    openrabbitfu coldload.bin pilot.bin user.bin /dev/ttyUSB0

Will upload the user program user.bin onto the target via cable attached to /dev/ttyUSB0 and using initial loader coldload.bin, secondary loader pilot.bin.

Options:

--help       Show usage information summary.
--verbose    Increase verbosity (this option can be used up to 3 times, with each additional use increasing verbosity).
--slow       Workaround for tcdrain() driver bugs (see below for details).
--run        Run program immediately after programming.
--serialout  Display data from serial line at 38400 baud until EOT

History:

OpenRabbit was initially developed and maintained by Lourens Rozema. His latest release was 0.1.1.
The original homepage can be found at http://www.lourensrozema.nl/index.php/openrabbit.inc

This repository has been created by Philipp Klaus Krause (with endorsement by Lourens Rozema) to continue development.

Troubleshooting (if operation is unreliable, or it doesn't work at all):

* Check if you or your cable is using a full-speed USB-to-serial interface (e.g. the FT232R in the "USB Programming Cable") with a USB High-Speed or faster hub. This is often problematic. Suggested workaround: Do not use USB hubs, or use a high-speed USB-to-serial interface (e.g. FT232H).
* If you are using a serial programming cable with a USB-to-serial converter, try --slow to work around a Linux driver bug (https://bugzilla.kernel.org/show_bug.cgi?id=209359). Most, but not all USB-to-serial converters work when using the --slow option.
* If Openrabbit works without --serial, but is unreliable with --serial: this is a known bug: #22, no fix or worjaroundis currently known (other than just trying again).