Rabbit RCM2200 User`s manual
RabbitCore RCM2200
C-Programmable Module with Ethernet
Getting Started Manual
019–0096 • 010501–B
RabbitCore RCM2200: Getting Started Manual
Part Number 019-0096 • 010501–B • Printed in U.S.A.
© 2001 Z-World Inc. • All rights reserved.
Z-World reserves the right to make changes and
improvements to its products without providing notice.
Notice to Users
RABBIT SEMICONDUCTOR PRIOR TO USE. Life-support devices or systems
are devices or systems intended for surgical implantation into the body or to sustain
life, and whose failure to perform, when properly used in accordance with instructions for use provided in the labeling and user’s manual, can be reasonably
expected to result in significant injury.
No complex software or hardware system is perfect. Bugs are always present in a
system of any size. In order to prevent danger to life or property, it is the responsibility of the system designer to incorporate redundant protective mechanisms
appropriate to the risk involved.
Rabbit 2000 is a trademark of Rabbit Semiconductor.
Dynamic C is a registered trademark of Z-World Inc.
Z80/Z180 is a trademark of Zilog Inc.
Rabbit Semiconductor
Z-World Inc.
2932 Spafford Street
Davis, California 95616-6800
2900 Spafford Street
Davis, California 95616-6800
Telephone: (530) 757-8400
Fax: (530) 757-8402
Telephone: (530) 757-3737
Fax: (530) 753-5141
RabbitCore RCM2200
Table of Contents
Introduction & Overview
1.1 RCM2200 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.1.1 Other Factory Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.1.2 Physical & Electrical Specifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
1.2 Development Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
1.3 How to Use This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Additional Product Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.2 Additional Reference Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.3 Using Online Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hardware Setup
2.1 Development Kit Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
2.2 Overview of the Prototyping Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
2.2.1 Prototyping Board Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
2.2.2 Prototyping Board Expansion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
2.3 Development Hardware Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Attach Module to Prototyping Board . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Connect Programming Cable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.3 Connect Ethernet Network Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.4 Connect Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Getting Started Manual
2.4 Where Do I Go From Here? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
2.4.1 Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
Software Installation & Overview
3.1 An Overview of Dynamic C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.2 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.2.1 Hardware Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.3 Installing Dynamic C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Program & Documentation File Location . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Installation Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.3 Select COM Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.4 Desktop Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Starting Dynamic C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
3.4.1 Communication Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
3.5 Sample Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Using the TCP/IP Features
4.1 TCP/IP Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.2 Running TCP/IP Sample Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.3 IP Addresses Explained . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
4.4 How IP Addresses are Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
4.5 Dynamically Assigned Internet Addresses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
4.6 How to Set IP Addresses in the Sample Programs . . . . . . . . . . . . . . . . . . . . . 4-4
4.7 How to Set Up your Computer’s IP Address For Direct Connect . . . . . . . . . . 4-5
4.8 Run the PINGME.C Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
4.9 Running More Demo Programs With Direct Connect . . . . . . . . . . . . . . . . . . . 4-6
4.10 Where Do I Go From Here? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
RabbitCore RCM2200
Introduction & Overview 1
The RabbitCore RCM2200 is an advanced module that incorporates the
powerful Rabbit 2000™ microprocessor, flash memory, static RAM, digital
I/O ports and a 10Base-T Ethernet port, all on a PCB just half the size of a
business card.
RCM2200 Description
The RCM2200 is a small-footprint module designed
for use on a motherboard that supplies power and
interface to real-world I/O devices. Its two 26-pin
connection headers provide 26 parallel user I/O
lines, shared with three serial ports, along with data,
address and control lines. A fourth serial port and
three additional I/O lines are available on the programming header.
A fully-enabled slave port permits glueless masterslave interface with another Rabbit-based system.
The slave port may also be used with non-Rabbit
systems, although additional logic may be required.
Getting Started Manual
The RCM2200 is equipped with a 10Base-T Ethernet port, 256k flash memory and 128k static RAM.
1.1.1 Other Factory Versions
To accommodate developers with specific needs,
alternate versions of the RCM2200 module can be
obtained in production quantities on special order.
In addition, a variant of the RCM2200 is available.
The RCM2300 omits the Ethernet connectivity but
offers a much smaller footprint, one-half the size of
the RCM2200.
Introduction & Overview
1.1.2 Physical & Electrical
Table 1–1 lists the basic specifications for the
NOTE: For complete product specifications, see Appendix A in the RabbitCore RCM2200 User’s Manual.
Table 1–1: RCM2200 specifications
Power Supply
4.75 – 5.25 VDC (134 mA at 22.1 MHz clock speed)
2.3 x 1.6 x 0.86 inches (59 x 41 x 22 mm)
–40°C to 70°C, 5–95% humidity, non-condensing
The RCM2200 modules have two 26-pin headers to
which cables can be connected, or which can be
plugged into matching sockets on a production
device. The pinouts for these connectors are shown
in Figure 1–1 below.
Note: These pinouts are as seen on
the Bottom Side of the module.
Figure 1–1: The complete pinout for the RCM2200 module connectors.
Introduction & Overview
RabbitCore RCM2200
Development Software
The RCM2200 module uses the Dynamic C development environment for rapid creation and debugging of runtime applications. Dynamic C provides a
complete development environment with integrated
editor, compiler and source-level debugger. It interfaces directly with the target system, eliminating the
need for complex and unreliable in-circuit emulators.
Dynamic C must be installed on a Windows workstation with at least one free serial (COM) port for
communication with the target system. See Chapter
3, “Software Installation & Overview,” for complete
information on installing Dynamic C.
IMPORTANT! The RCM2200 module requires Dynamic C v7.04 or
later for development. A compatible version is included on the
Development Kit CD-ROM.
TIP… We recommend that anyone not
thoroughly familiar with Z-World
controllers at least read through the
rest of this manual to gain the necessary familiarity to make use of the
more advanced information.
1.3.2 Additional Reference Information
In addition to the product-specific information contained in the RabbitCore RCM2200 User’s Manual,
several higher-level reference manuals are provided
in HTML and PDF form on the accompanying CDROM. Advanced users will find these references
valuable in developing systems based on the
RCM2200 module:
• Dynamic C Premier User’s Manual
• Introduction to TCP/IP
• Dynamic C TCP/IP User’s Manual
• Rabbit 2000 Microprocessor User’s Manual
How to Use This Manual
This Getting Started manual is intended to give
users a quick but solid start with the RCM2200
module. It does not contain detailed information on
the module hardware capabilities, the Dynamic C
development environment, or the TCP/IP software
support for the integrated Ethernet port. Most users
will want more detailed information on some or all
of these topics in order to put the RCM2200 module
to effective use.
1.3.1 Additional Product Information
Detailed information about the RabbitCore
RCM2200 will be found in the RabbitCore
RCM2200 User’s Manual, provided on the accompanying CD-ROM in both HTML and Adobe PDF
Some advanced users may choose to skip the rest of
this introductory manual and proceed directly with
the detailed hardware and software information in
the User’s manual.
Getting Started Manual
1.3.3 Using Online Documentation
We provide the bulk of our user and reference documentation in two electronic formats, HTML and
Adobe PDF. We do this for several reasons.
We believe that providing all users with our complete library of product and reference manuals is a
useful convenience. However, printed manuals are
expensive to print, stock and ship. Rather than
include and charge for manuals that every user may
not want, or provide only product-specific manuals,
we choose to provide our complete documentation
and reference library in electronic form with every
development kit and with our Dynamic C development environment.
NOTE: The most current version of
Adobe Acrobat Reader can always
be downloaded from Adobe’s web
site at http://www.adobe.com.
We recommend that you use version 4.0 or later.
Introduction & Overview
Providing this documentation in electronic form
saves an enormous amount of paper by not printing
copies of manuals that users don’t need.
Finding Online Documents
The online documentation is installed along with
Dynamic C, and an icon for the documentation
menu is placed on the workstation’s desktop. Double-click this icon to reach the menu. If the icon is
missing, create a new desktop icon that points to
default.htm in the docs folder, found in the
Dynamic C installation folder.
The latest versions of all documents are always
available for free, unregistered download from our
web sites as well.
Introduction & Overview
Printing Electronic Manuals
We recognize that many users prefer printed manuals for some uses. Users can easily print all or parts
of those manuals provided in electronic form. The
following guidelines may be helpful:
• Print from the Adobe PDF versions of the
files, not the HTML versions.
• If your printer supports duplex printing, print
pages double-sided.
• If you do not have a suitable printer or do not
want to print the manual yourself, most retail
copy shops (e.g. Kinkos, AlphaGraphics, etc.)
will print the manual from the PDF file and
bind it for a reasonable charge—about what
we would have to charge for a printed and
bound manual.
RabbitCore RCM2200
Hardware Setup 2
This chapter describes the RCM2200 module hardware in more detail, and
explains how to set up and use the accompanying prototyping and development board.
NOTE: This chapter (and this manual) assume that you have the RabbitCore RCM2200 Development Kit.
If you purchased an RCM2200
module by itself, you will have to
adapt the information in this chapter
and elsewhere to your test and
development setup.
Development Kit Contents
The RCM2200 Development Kit contains the following items:
• RabbitCore 2200 module with Ethernet port,
256k flash memory and 128k SRAM.
Getting Started Manual
• RCM2200 Prototyping Board.
• Wall transformer power supply, 12 VDC, 500
mA. (Included only with Development Kits
sold for the North American market. Overseas
users will have to substitute a power supply
compatible with local mains power.)
• 10-pin header to DE9 programming cable
with integrated level-matching circuitry.
• Dynamic C SE CD-ROM, with complete
product documentation on disk.
• This Getting Started manual.
• Rabbit 2000 Processor Easy Reference poster.
• Registration card.
Hardware Setup
Overview of the
Prototyping Board
The Prototyping Board included in the Development Kit makes it easy to connect an RCM2200
module to a power supply and a PC workstation for
development. It also provides some basic I/O
peripherals (switches and LEDs), as well as a prototyping area for more advanced hardware development.
For the most basic level of evaluation and development, the Prototyping Board can be used without
As you progress to more sophisticated experimentation and hardware development, modifications and
additions can be made to the board without modifying or damaging the RabbitCore module itself.
The Prototyping Board is shown in Figure 2–1 on
the next page, with its main features identified.
2.2.1 Prototyping Board Features
A 3-pin header is
provided for connection to the power
supply. Note that it is symmetrical, with
both outer pins connected to ground and
the center pin connected to the raw V+
input. The cable of the wall transformer
provided with the North American version of the development kit ends in a
connector that is correctly connected in
either orientation.
Power Connection
Users providing their own power supply
should ensure that it delivers 8–24 VDC
at not less than 500 mA. The voltage regulator will get warm in use. (Lower supply voltages will reduce thermal
dissipation from the device.)
The raw
DC voltage provided at the POWER IN
jack is routed to a 5-volt linear voltage
regulator, which provides stable power to
the RabbitCore module and the Prototyping Board. A Shottky diode protects the
Regulated Power Supply
Hardware Setup
power supply against damage from
reversed raw power connections.
The power LED lights
whenever power is connected to the
development board.
Power LED
A momentary-contact,
normally-open switch is connected
directly to the RabbitCore’s /RES pin.
Pressing the switch forces a hardware
reset of the system.
Reset Switch
Two momentary-contact, normally-open switches are
connected to the PB2 and PB3 pins of the
master RabbitCore module and may be
read as inputs by sample applications.
I/O Switches & LEDs
Two LEDs are connected to the PE1 and
PE7 pins of the master module, and may
be driven as output indicators by sample
The LEDs and switches are connected
through JP1, which has traces shorting
adjacent pads together. These traces may
be cut to disconnect the LEDs, and an 8pin header soldered into JP1 to permit
their selective reconnection with jumpers. See Figure 2–2 on page 2–4 for
Expansion Areas The Prototyping
Board is provided with several unpopulated areas for expansion of I/O and
interfacing capabilities. See the next section for details.
A generous prototyping area has been provided for the
installation of through-hole components.
Vcc (5 VDC) and Ground busses run
around the edge of this area. An area for
surface-mount devices is provided to the
right of the through-hole area. (Note that
there are SMT device pads on both top
Prototyping Area
RabbitCore RCM2200
Master Module
Voltage Connector
User Switches
& LEDs (2 each)
SMT Device
Prototyping Area
Prototyping Area
Master Module
Extension Headers
Slave Module
Extension Headers
Slave Module
Vcc & Ground
Figure 2–1: The RCM2200 Prototyping Board.
and bottom of the Prototyping Board.)
Each SMT pad is connected to a hole
designed to accept a 30 AWG solid wire.
A second
set of connectors is pre-wired to permit
installation of a second, slave RCM2200
Slave Module Connectors
Getting Started Manual
or RCM2300 module. This capability is
reserved for future use, although the schematics in this manual contain all of the
details an experienced developer will need
to implement a master-slave system.
Hardware Setup
2.2.2 Prototyping Board Expansion
To disconnect these devices and permit
the pins to be used for other purposes, cut
the traces between the pin rows of JP1.
Use a knife or similar tool to cut or
break the traces crossing JP1 in the area
between the silk-screened arrows, as
indicated in Figure 2–2 below.
The Prototyping Board comes with several unpopulated areas, which may be filled with components to
suit the user’s development needs. After you have
experimented with the sample programs in
Section 3.5, you may wish to expand the board’s
capabilities for further experimentation and development. Refer to the Prototyping Board schematic
(090–0122) for details as necessary.
Use jumpers across the positions on JP1
if you need to reconnect any of the
devices later on.
The complete pin set of both the Master and Slave
RabbitCore modules are duplicated at
these two sets of headers. Developers can
solder wires directly into the appropriate
holes, or, for more flexible development,
26-pin header strips can be soldered into
place. See Figure 1–1 on page 1–2 for the
header pinouts.
Module Extension Headers
Two 2-wire or one 4-wire
RS-232 serial port can be added to the
Prototyping Board by installing a driver
IC and four capacitors. The Maxim
MAX232CPE driver chip or a similar
device is recommended for the U2. Refer
to the Prototyping Board schematic for
additional details.
A 10-pin 0.1-inch spacing header strip
can be installed at J6 to permit connection of a ribbon cable leading to a standard DE-9 serial connector.
There are four steps to connecting the Prototyping
Board for use with Dynamic C and the sample programs:
RS-232 Port
All RS-232 port components mount to
the underside of the Prototyping Board,
between the Master module connectors.
NOTE: The RS-232 chip, capacitors
and header strip are available from
electronics distributors such as
Proto Board Component Header
Four I/O pins from the module are hardwired to the Prototyping Board LEDs
and switches.
Hardware Setup
Figure 2–2: JP1, seen from the underside
of the Prototyping Board. The connections to
the LEDs and switches may be broken by
cutting the four traces between the arrows.
Development Hardware
Attach the RabbitCore module to the Prototyping Board.
Connect the programming cable between
the RabbitCore module and the workstation PC.
Connect the module’s Ethernet port to a
PC’s Ethernet port, or to an Ethernet network.
Connect the power supply to the Prototyping Board.
RabbitCore RCM2200
2.3.1 Attach Module to
Prototyping Board
Turn the RabbitCore RCM2200 module so that the
Ethernet connector end of the module extends off
the Prototyping Board, as shown in Figure 2–3
below. Align the module headers J4 and J5 into
sockets J1 and J2 on the Prototyping Board.
Although you can install a single module into either
the Master or Slave position, all of the development
board features (switches, LEDs, serial port drivers,
etc.) are connected to the Master position. We recommend you install a single module in the Master
Figure 2–3: Installing the RCM2200 module on the Prototyping Board.
Figure 2–4: The RCM2200 module installed and seated on the Prototyping Board.
Getting Started Manual
Hardware Setup
IMPORTANT! It is important that you
line up the pins of the RabbitCore
module headers J4 and J5 exactly
with the corresponding pins of
headers J1 and J2 on the Prototyping Board. The header pins may
become bent or damaged if the pin
alignment is offset, and the module
will not work. Permanent electrical
damage to the module may also
result if a misaligned module is
powered up.
Press the module’s pins firmly into the Prototyping
Board headers. The installed module is shown in
Figure 2–4.
Note Pin
1 Indicator
Figure 2–5: Attaching the programming cable to the RabbitCore module.
Note that the stripe on the cable is towards pin 1 of the header J5.
2.3.2 Connect Programming Cable
The programming cable connects the RabbitCore
module to the PC workstation running Dynamic C,
to permit download of programs and monitoring for
Connect the 10-pin connector of the programming
cable labeled PROG to header J1 on the RabbitCore RCM2200 module as shown in Figure 2–5. Be
sure to orient the marked (usually red) edge of the
cable towards pin 1 of the connector. (Do not use
the DIAG connector, which is used for a normal
serial connection.)
Connect the other end of the programming cable to
a COM port on your PC. Make a note of the port to
which you connect the cable, as Dynamic C needs
Hardware Setup
to have this parameter configured when it is
NOTE: COM 1 is the default port used
by Dynamic C.
2.3.3 Connect Ethernet Network Cable
Programming and development can be done with
the RabbitCore RCM2200 without connecting the
Ethernet port to a network. However, if you will be
running the sample programs that use the Ethernet
capability or will be doing Ethernet-enabled development, you should connect the RabbitCore module’s Ethernet port at this time.
There are four options for connecting the RabbitCore module to a network for development and
RabbitCore RCM2200
runtime purposes. The first two options permit total
freedom of action in selecting network addresses
and use of the “network,” as no action can interfere
with other users. We recommend one of these
options for initial development.
• No LAN — The simplest alternative for
desktop development. Connect the RabbitCore’s Ethernet port directly to the workstation’s network interface card, using an RJ-45
crossover cable. A crossover cable is a special
cable that flips some connections between the
two connectors and permits direct connection
of two client systems. A standard RJ-45 network cable will not work for this purpose.
• Micro-LAN — Another simple alternative
for desktop development. Use a small Ethernet 10Base-T hub and connect both the workstation’s network interface card and the
RabbitCore’s Ethernet port to it, using standard network cables.
The following options require more care in address
selection and testing actions, as conflicts with other
users, servers and systems can occur:
• LAN — Connect the RabbitCore’s Ethernet
port to an existing LAN, preferably one to
which the development workstation is already
connected. You will need to obtain IP
addressing information from your network
• WAN — The RabbitCore RCM2200 is
capable of direct connection to the Internet
and other Wide Area Networks, but exceptional care should be used with IP address
settings and all network-related programming
and development. We recommend that development and debugging be done on a local
network before connecting a RabbitCore
system to the Internet.
TIP… Checking and debugging the
initial setup on a micro-LAN is recommended before connecting the
system to a LAN or WAN.
Getting Started Manual
2.3.4 Connect Power
When all other connections have been made, you
can connect power to the RabbitCore Prototyping
Hook the connector from the wall transformer to
header J5 on the Prototyping Board as shown in
Figure 2–6 below. The connector may be attached
either way as long as it is not offset to one side.
Plug in the wall transformer. The power LED on
the Prototyping Board should light up. The RabbitCore 2000 and the Prototyping Board are now
ready to be used.
NOTE: A RESET button is provided
on the Prototyping Board to allow
hardware reset without disconnecting power.
To power down the Prototyping Board, unplug the
power connector from J5. You should disconnect
power before making any circuit adjustments in the
prototyping area, changing any connections to the
board, or removing the RabbitCore module from the
Where Do I Go From Here?
We recommend that you proceed to the next chapter and install Dynamic C (if you do not already
have it installed), then run the first sample program
to verify that the RabbitCore module and Prototyping Board are set up and functioning correctly.
If everything appears to be working, we recommend
the following sequence of action:
Run all of the sample programs described in
Section 3.5 to get a basic familiarity with
Dynamic C and the RabbitCore module’s
For further development, refer to the RabbitCore RCM2200 User’s Manual for
details of the module’s hardware and software components.
A documentation icon should have been
installed on your workstation’s desktop;
Hardware Setup
Figure 2–6: Connecting the power cable to the Prototyping Board.
The connector may be oriented either way, but must not be offset.
click on it to reach the documentation
menu. You can create a new desktop icon
that points to default.htm in the docs
folder in the Dynamic C installation folder.
2.4.1 Technical Support
If you encounter any problems, call our Technical
Support center:
• Z-World Technical Support, (530) 757-3737
For advanced development topics, refer to
the Dynamic C User’s Manual and the
Dynamic C TCP/IP User’s Manual, also in
the online documentation set.
Hardware Setup
• Rabbit Semiconductor Technical Support,
(530) 757-8400
RabbitCore RCM2200
Software Installation & Overview 3
To develop and debug programs for the RabbitCore RCM2200 (and for all
other Z-World and Rabbit Semiconductor hardware), you must install and
use Dynamic C. This chapter takes you through the installation of Dynamic
C, and then provides a tour of its major features with respect to the RabbitCore RCM2200 module.
An Overview of Dynamic C
Dynamic C integrates the following development
functions into one program:
• Editing
• Compiling
• Linking
• Loading
• In-Circuit Debugging
In fact, compiling, linking and loading are one function. Dynamic C does not use an In-Circuit Emulator; programs being developed are downloaded to
and executed from the “target” system via an
enhanced serial-port connection. Program development and debugging take place seamlessly across
Getting Started Manual
this connection, greatly speeding system development.
Other features of Dynamic C include:
• Dynamic C has an easy-to-use built-in text
editor. Programs can be executed and
debugged interactively at the source-code or
machine-code level. Pull-down menus and
keyboard shortcuts for most commands make
Dynamic C easy to use.
• Dynamic C also supports assembly language
programming. It is not necessary to leave C or
the development system to write assembly
language code. C and assembly language may
be mixed together.
• Debugging under Dynamic C includes the
ability to use printf commands, watch
Software Installation & Overview
expressions, breakpoints and other advanced
debugging features. Watch expressions can be
used to compute C expressions involving the
target’s program variables or functions. Watch
expressions can be evaluated while stopped at
a breakpoint or while the target is running its
• At least 50 MB of free hard drive space
• At least one free COM (serial) port for communication with the target systems
• A 10Base-T Ethernet network interface port
(optional if you will not be using the
RCM2200’s Ethernet port)
• Dynamic C provides extensions to the C language (such as shared and protected variables,
costatements and cofunctions) that support
real-world embedded system development.
Interrupt service routines may be written in C.
Dynamic C supports cooperative and preemptive multi-tasking.
• Dynamic C comes with many function libraries, all in source code. These libraries support
real-time programming, machine level I/O,
and provide standard string and math functions.
If autorun is disabled or the installation otherwise
does not start, use the Windows Start | Run menu
or Windows Disk Explorer to launch SETUP.EXE
from the root folder of the CD-ROM.
• Dynamic C compiles directly to memory.
Functions and libraries are compiled and
linked and downloaded on-the-fly. On a fast
PC, Dynamic C can load 30,000 bytes of code
in 5 seconds at a baud rate of 115,200 bps.
The installation program will guide you through the
installation process. Most steps of the process are
self-explanatory and not covered in this section.
Selected steps that may be confusing to some users
are outlined below. (Some of the installation utility
screens may vary slightly from those shown.)
System Requirements
To install and run Dynamic C, your system must be
running one of the following operating systems:
• Windows 95
• A CD-ROM drive (for software installation)
Installing Dynamic C
Insert the Dynamic C CD-ROM in the drive on your
PC. If autorun is enabled, the CD installation will
begin automatically.
3.3.1 Program & Documentation
File Location
Dynamic C’s application, library and documentation
files can be installed in any convenient location on
your workstation’s hard drives.
• Windows 98
• Windows NT
• Windows ME
• Windows 2000
3.2.1 Hardware Requirements
The PC on which you install Dynamic C for development of RCM2200-based systems should have
the following hardware:
• A Pentium or later microprocessor
• 32 MB of RAM
Software Installation & Overview
RabbitCore RCM2200
The default location, as shown in the example
above, is in a folder named for the version of
Dynamic C, placed in the root folder of the C: drive.
If this location is not suitable, enter a different root
path before clicking Next >. Files are placed in the
specified folder, so do not set this location to a
drive’s root directory.
3.3.3 Select COM Port
Dynamic C uses a COM (serial) port to communicate with the target development system. The installation allows you to choose the COM port that will
be used.
3.3.2 Installation Type
Dynamic C has two components that can be
installed together or separately. One component is
Dynamic C itself, with the development environment, support files and libraries. The other component is the documentation library in HTML and
PDF formats, which may be left uninstalled to save
hard drive space or installed elsewhere (on a separate or network drive, for example).
The default selection, as shown in the example
above, is COM1. You may select any available port
for Dynamic C’s use. If you are not certain which
port is available, select COM1. This selection can
be changed later within Dynamic C.
NOTE: The installation utility does not
check the selected COM port in any
way. Specifying a port in use by
another device (mouse, modem,
etc.) may cause temporary problems when Dynamic C is started.
The installation type is selected in the installation
menu shown above. The options are:
3.3.4 Desktop Icons
Once your installation is complete, you will have up
to three icons on your PC desktop, as shown below.
• Typical Installation — Both Dynamic C
and the documentation library will be
installed in the specified folder (default).
• Compact Installation — Only Dynamic C
will be installed.
• Custom Installation — You will be
allowed to choose which components are
installed. This choice is useful to install or
reinstall just the documentation.
Getting Started Manual
One icon is for Dynamic C, one opens the documentation menu, and the third is for the Rabbit Field
Utility, a tool used to download precompiled software to a target system.
Software Installation & Overview
Starting Dynamic C
Once the RabbitCore module is set up and connected as described in Chapter 2 and Dynamic C has
been installed, start Dynamic C by double-clicking
on the Dynamic C icon. Dynamic C should start,
then look for the target system on the COM port you
specified during installation (by default, COM1).
Once detected, Dynamic C should go through a
sequence of steps to cold-boot the module and compile the BIOS.
If you receive the message beginning “BIOS
successfully compiled and
loaded…” you are ready to continue with the
sample programs in the next chapter.
In Dynamic C, open the BIOS source code
3.4.1 Communication Error Messages
If you receive the message “No Rabbit Processor Detected,” the programming cable
may be connected to a different COM port, a connection may be faulty, or the target system may not
be powered up. First, check to see that the power
LED on the Prototyping Board is lit. If it is, check
both ends of the programming cable to ensure that it
is firmly plugged into the PC and the RabbitCore’s
programming port, with the pin-1 edge of the cable
matched to the pin-1 mark on the board. If you are
using the Prototyping Board, ensure that the module is firmly and correctly installed in its connectors.
If there are no faults with the hardware, select a different COM port within Dynamic C. From the
Options menu, select Communications. The dialog
shown should appear.
Select another COM port from the list, then click
OK. Press Ctrl-Y to force Dynamic C to recompile
the BIOS. If Dynamic C still reports it is unable to
locate the target system, repeat the above steps until
you locate the active COM port.
If Dynamic C appears to compile the BIOS successfully, but you then receive a communication error
message, it is possible that your PC cannot handle
the 115,200 bps baud rate. Try changing the baud
rate to 57,600 bps using this procedure:
Software Installation & Overview
Change the line:
#define USE115KBAUD 1
to read as follows:
#define USE115KBAUD 0
Open the Communications dialog in the
Dynamic C Options menu. Select 57,600
from the Baud Rate list and click OK.
Save the changes using File > Save.
You should now receive the "BIOS successfully compiled" message without a following communication error.
Sample Programs
To help familiarize you with the RabbitCore
RCM2200 modules, Dynamic C includes several
sample programs. Loading, executing and studying
these programs will give you a solid hands-on overview of the RabbitCore’s capabilities, as well as a
quick start with Dynamic C as an application development tool.
NOTE: The sample programs assume
that you have at least an elementary grasp of ANSI C. If you do not,
see the introductory pages of the
Dynamic C Premier User’s Manual for a suggested reading list.
RabbitCore RCM2200
Of the many sample programs included with
Dynamic C, several are specific to the RCM2200
module. These programs will be found in the
Samples/RCM2200 folder.
We suggest that you examine the following five of
these sample programs, in order, to get a complete
tour of the capabilities of the RabbitCore RCM2200
modules. They form a “learning arc” from basic I/O
control to advanced TCP/IP issues, including web
• FlashLED.c
• ToggleLED.c
Getting Started Manual
• FlashLEDs.c
• PingLED.c
• EthCore1.c
Each of these programs is fully commented within
the source code. Refer to these comments for the
details of how each program works.
Once you have loaded and executed these five programs and have an understanding of how Dynamic C
and the RCM2200 modules interact, you can move
on and try the other sample programs, or begin building your own.
Software Installation & Overview
Software Installation & Overview
RabbitCore RCM2200
Using the TCP/IP Features 4
TCP/IP Connections
If you have Ethernet access, use a straight
Ethernet cable to establish an Ethernet
connection to the RCM2200 from an Ethernet hub.
Before proceeding you will need to have the following items.
• If you don’t have Ethernet access, you will
The PC running Dynamic C through the
serial port on the RCM2200 does not need
to be the PC with the Ethernet card.
need at least a 10Base-T Ethernet card
(available from your favorite computer
supplier) installed in a PC.
• Two RJ-45 straight through Ethernet
Plug in the AC adapter. The RCM2200 is
now ready to be used.
cables and a hub, or an RJ-45 crossover
Ethernet cable.
The Ethernet cables and Ethernet hub are available
from Z-World in a TCP/IP tool kit. More information is available at www.zworld.com.
Connect the AC adapter and the programming cable as shown in Chapter 2, “Hardware Setup.”
Ethernet Connections
If you do not have access to an Ethernet
network, use a crossover Ethernet cable to
connect the RCM2200 board to a PC with
at least a 10Base-T Ethernet card.
Getting Started Manual
Apply Power
Running TCP/IP Sample
We have provided a number of sample programs
demonstrating various uses of TCP/IP for networking embedded systems. These programs require that
the user connect his PC and the RCM2200 board
together on the same network. This network can be
a local private network (preferred for initial experimentation and debugging), or a connection via the
Using the TCP/IP Features
User’s PC
Direct Connection
(Network of 2 computers)
To additional
Direct Connection Using a Hub
Obtaining IP addresses to interact over an existing,
operating, network can involve a number of complications, and must usually be done with cooperation
from your ISP and/or network systems administrator (if your company has one). For this reason, it is
suggested that the user begin instead by using a
direct connection between a PC and the RCM2200
board using an Ethernet crossover cable or a simple
arrangement with a hub. (A crossover cable should
not be confused with regular straight through
cables.) The hub and a wide variety of cables can
also be purchased from a local computer store.
both networks service the same IP address, then
Windows may send a packet intended for your private network to the corporate network. A similar situation will take place if you use a dial-up line to
send a packet to the Internet. Windows may try to
send it via the local Ethernet network if it is also
valid for that network.
In order to set up this direct connection, the user will
have to use a virgin PC (right out of the box), or disconnect a PC from the corporate network, or as yet
another approach install a second Ethernet adapter
and set up a separate private network attached to the
second Ethernet adapter. Disconnecting your PC
from the corporate network may be easy or nearly
impossible, depending on how it is set up. Mobile
PCs, such as laptops, are designed to be connected
and disconnected, and will present the least problem. If your PC boots from the network or is dependent on the network for some or all of its disks, then
it probably should not be disconnected. If a second
Ethernet adapter is used, be aware that Windows
TCP/IP will send messages to one adapter or the
other, depending on the IP address and the binding
order in Microsoft products. Thus you should have
different ranges of IP addresses on your private network from those used on the corporate network. If
The RCM2200 board uses a 10Base-T type of Ethernet connection, which is the most common
scheme. The RJ-45 connectors are similar to U.S.
style telephone connectors, are except larger and
have 8 contacts.
Using the TCP/IP Features
The following IP addresses are set aside for local
networks and are not allowed on the Internet: to, to, and to
An alternative to the direct connection using a crossover cable is a direct connection using a hub. The
hub relays packets received on any port to all of the
ports on the hub. Hubs are low in cost and are
readily available. The RCM2200 board uses 10
Mbps Ethernet, so the hub or Ethernet adapter must
be either a 10 Mbps unit or a 10/100 unit that adapts
to either 10 or 100 Mbps.
In a corporate setting where the Internet is brought
in via a high-speed line, there are typically machines
between the outside Internet and the internal network. These machines include a combination of
proxy servers and firewalls that filter and multiplex
RabbitCore RCM2200
Internet traffic. In the configuration below, the
RCM2200 board could be given a fixed address so
any of the computers on the local network would be
able to contact it. It may be possible to configure the
firewall or proxy server to allow hosts on the Internet to directly contact the controller, but it would
probably be easier to place the controller directly on
the external network outside of the firewall. This
avoids some of the configuration complications by
sacrificing some security.
T1 in
Typical Corporate Network
If your system administrator can give you an
Ethernet cable along with its IP address, the
netmask and the gateway address, then you
may be able to run the sample programs without having to setup a direct connection
between your computer and the RCM2200
board. You will also need the IP address of the
nameserver, the name or IP address of your
mail server, and your domain name for some
of the sample programs.
netmask is also a 32-bit address expressed in the
same form as the IP address. An example netmask
This netmask has 8 zero bits in the least significant
portion, and this means that 28 addresses are a part
of the local network. Applied to the IP address
above (, this netmask would indicate that the following IP addresses belong to the
local network:
IP Addresses Explained
IP (Internet Protocol) addresses are expressed as 4
decimal numbers separated by periods, for example:
Each decimal number must be between 0 and 255.
The total IP address is a 32-bit number consisting of
the 4 bytes expressed as shown above. A local network uses a group of adjacent IP addresses. There
are always 2N IP addresses in a local network. The
netmask (also called subnet mask) determines how
many IP addresses belong to the local network. The
Getting Started Manual
The lowest and highest address are reserved for special purposes. The lowest address ( is
used to identify the local network. The highest
address ( is used as a broadcast
address. Usually one other address is used for the
address of the gateway out of the network. This
Using the TCP/IP Features
leaves 256 - 3 = 253 available IP addresses for the
example given.
How IP Addresses are Used
The actual hardware connection via an Ethernet
uses Ethernet adapter addresses (also called MAC
addresses.) These are 48-bit addresses and are
unique for every Ethernet adapter manufactured. In
order to send a packet to another computer, given
the IP address of the other computer, it is first determined if the packet needs to be sent directly to the
other computer or to the gateway. In either case,
there is an IP address on the local network to which
the packet must be sent. A table is maintained to
allow the protocol driver to determine the MAC
address corresponding to a particular IP address. If
the table is empty, the MAC address is determined
by sending an Ethernet broadcast packet to all
devices on the local network asking the device with
the desired IP address to answer with its MAC
address. In this way, the table entry can be filled in.
If no device answers, then the device is nonexistent
or inoperative, and the packet cannot be sent.
IP addresses are arbitrary and can be allocated as
desired provided that they don’t conflict with other
IP addresses. However, if they are to be used with
the Internet, then they must be numbers that are
assigned to your connection by proper authorities,
generally by delegation via your service provider.
Dynamically Assigned
Internet Addresses
In many instances, IP addresses are assigned temporarily. This the normal procedure when you use a
dial-up Internet service provider (ISP). Your system
will be provided with an IP address that it can use to
send and receive packets. This IP address will only
be valid for the duration of the call, and further may
not actually be a real Internet IP address. Such an
address works for browsing the Web, but cannot be
used for transactions originating elsewhere since no
other system has any way to know the Internet
address except by first receiving a packet from you.
Using the TCP/IP Features
(If you want to find the IP address assigned by a
dial-up ISP, run the program winipcfg while connected and look at the address for the ppp adapter
under Windows 98.)
In a typical corporate network that is isolated from
the Internet by a firewall and/or proxy server using
address translation, the IP addresses are not usually
actual Internet addresses and may be assigned statically or dynamically. If they are assigned statically,
you only have to get an unused IP address and
assign it to the RCM2200 board. If the IP addresses
are assigned dynamically, they you will have to get
an IP address that is valid but outside of the range of
IP addresses that are assigned dynamically. This
will enable you to communicate from a PC on the
network to the RCM2200 board. If you want to
communicate to the RCM2200 board from the
external Internet, then an actual Internet IP address
must be assigned to the RCM2200 board. It may be
possible to setup the firewall to pass a real IP
address, or it may be necessary to connect the
RCM2200 board in front of the firewall to accomplish this.
How to Set IP Addresses in
the Sample Programs
Most of the sample programs such as shown in the
example below use macros to define the IP address
assigned to the board and the IP address of the gateway, if there is a gateway.
#define MY_NETMASK
#define MY_GATEWAY
In order to do a direct connection the following IP
addresses can be used for the RCM2200 board:
#define MY_IP_ADDRESS ""
#define MY_NETMASK
// #define MY_GATEWAY
RabbitCore RCM2200
Click on Start > Settings > Control Panel to
bring up the Control Panel, and then double-click
the Network icon. In the window find the line of the
form TCP/IP > Ethernet adapter name. Double-click on this line to bring up the TCP/IP properties dialog box. You can edit the IP address directly
and the subnet mask. (Disable “obtain an IP address
automatically.”) You may want to write down the
existing values in case you have to restore them
later. It is not necessary to edit the gateway address
since the gateway is not used with direct connect.
In this case, the gateway is not used and is commented out. The IP address of the board is defined
to be The IP address of you PC can be
defined as
How to Set Up your
Computer’s IP Address For
Direct Connect
When your computer is connected directly to the
RCM2200 board via an Ethernet connection, you
need to assign an IP address to your computer. To
assign the PC the address with the subnetmask under Windows 98, do the
The method of setting the IP address may differ for
different versions of Windows, such as 95, NT or
Subnet mask
User’s PC
#define MY_IP_ADDRESS "”
#define MY_NETMASK "”
Direct Connection PC to RCM2200 Board
may not have a crossover cable, or if you are using a
hub perhaps the power is off on the hub.)
Run the PINGME.C Demo
In order to run this program, edit the IP address and
netmask in the PINGME.C program
(SAMPLES\TCPIP\ICMP) to the values given
above ( and Compile the
program and start it running under Dynamic C. The
crossover cable is connected from your computer’s
Ethernet adapter to the RCM2200 board’s RJ-45
Ethernet connector. When the program starts running, the green LNK light on the RCM2200 board
should be on to indicate an Ethernet connection is
made. (Note: If the LNK light does not light, you
Getting Started Manual
The next step is to ping the board from your PC.
This can be done by bringing up the MS-DOS window and running the pingme program:
or by Start > Run
and typing the entry
Notice that the red ACT light flashes on the
RCM2200 board while the ping is taking place, and
indicates the transfer of data. The ping routine will
ping the board four times and write a summary message on the screen describing the operation.
Using the TCP/IP Features
Running More Demo
Programs With Direct
The programs STATIC.C and SSI3.C (SAMPLES\TCPIP\HTTP) demonstrate how to make
the RCM2200 board be a Web server. This program
allows you to turn the LEDs on an attached Demonstration Board from the Development Kit on and off
from a remote Web browser. In order to run these
sample programs, edit the IP address as for the
pingme program, compile the program and start it
executing. Then bring up your Web browser and
enter the following server address:
gram on your PC (Start > Run telnet Each character you type will be
printed in Dynamic C’s STDIO window, indicating
that the board is receiving the characters typed via
4.10 Where Do I Go From Here?
If there are any problems at this point, call Z-World
Technical Support at (530)757-3737.
If the sample programs ran fine, you are now ready
to go on.
This should bring up the Web page served by the
sample program.
Additional sample programs are described in
the Dynamic C TCP/IP User’s Manual.
The sample program RXSAMPLE.C (SAMPLES\TELNET) allows you to communicate with
the RCM2200 board using the Telnet protocol. To
run this program, edit the IP address, compile the
program, and start it running. Run the Telnet pro-
Please refer to the Dynamic C TCP/IP User’s
Manual to develop your own applications. An
Introduction to TCP/IP provides background
information on TCP/IP, and is available on the
CD and on Z-World’s Web site.
Using the TCP/IP Features
RabbitCore RCM2200
The following schematics are included for user reference:
RabbitCore RCM2200
RCM2200 Prototyping Board
Programming Cable
Getting Started Manual
DAVIS, CA 95616
530 - 757-4616
DAVIS, CA 95616
530 - 757 - 4616
DAVIS, CA 95616
530 - 757 - 4616
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF