ABLE OF ONTENTS Chapter 1: Introduction & Overview RCM2100 Series Description ........................1 Standard Ethernet Versions ........................2 Standard Non-Ethernet Versions ......................2 Other Factory Versions ......................... 2 Physical & Electrical Specifications ..................... 2 Development Software..........................4 How to Use This Manual ........................... 5 Additional Product Information ......................
Page 4
Compile & Run Program ........................26 Sample Program: FlashLED.c........................27 Sample Program: ToggleLED.c ....................... 28 Compile & Run Program ........................28 Sample Program: FlashLEDs.c ........................ 30 Sample Program: PingLED.c ........................32 Sample Program: EthCore1.c........................34 Where Do I Go From Here?........................36 Schematics RabbitCore RCM2100...
RAM and an RJ-45 Ethernet port, all on a PCB the size of a business card. The RCM2100 series modules are designed for use on a motherboard that supplies power and interface to real-world I/O devices. Up to 40 pins of I/O and four serial ports are avail- able for system interfacing.
I/O pins to 34. This is the version included in the Development Kit. RCM2110. The RCM2110 is identical to the RCM2100 except that it is equipped with 128k of SRAM and 256k of flash memory. 1.1.2 Standard Non-Ethernet Versions To accommodate developers and users who want the RCM2100’s footprint and capabili-...
Page 7
The RCM2100 modules have two 40-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 below. PB1-CLKA PCLK BA12 BA11...
1.2 Development Software The RCM2100 series of modules uses the Dynamic C development environment for rapid creation and debugging of runtime applications. Dynamic C provides a complete develop- ment 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 development environment, or the TCP/IP software sup- port for the integrated Ethernet port. Most users will want more detailed information on some or all of these topics in order to put the RCM2100 module to effective use. 1.3.1 Additional Product Information Detailed information about the RCM2100 series will be found in the RabbitCore RCM2100 User’s Manual, provided on the accompanying CD-ROM in both HTML and...
Page 10
• 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 RCM2100...
NOTE: This chapter (and this manual) assume that you have the RabbitCore RCM2100 Development Kit. If you purchased an RCM2100 series module by itself, you will have to adapt the information in this chapter and elsewhere to your test and development setup.
The Prototyping Board included in the Development Kit makes it easy to connect an RCM2100 module to a power supply and a PC workstation for development. It also pro- vides an array of basic I/O peripherals (switches and LEDs), as well as a prototyping area for more advanced hardware development.
Two momentary-contact, normally open switches are connected to the PB2 and PB3 pins of the RCM2100 module, and may be read as inputs by sample applications. Two LEDs are connected to the PA0 and PA1 pins of the module, and may be driven as output indi- cators by sample applications.
Module Extension Headers. The complete pin set of the RCM2100 module is duplicated at these two headers. Developers can solder wires directly into the appropriate holes, or, for more flexible development, two 40-pin header strips can be soldered into place. See Figure 1 on page 3 for the header pinouts.
1. Attach the RCM2100 module to the Prototyping Board. 2. Connect the programming cable between the RCM2100 module and the workstation PC. 3. Connect the module’s Ethernet port to a PC’s Ethernet port, or to an Ethernet network.
2.3.1 Attach Module to Prototyping Board Turn the RCM2100 module so that the Ethernet connector is on the left, as shown in Figure 4 below. Align the module headers J1 and J2 into sockets J1 and J3 on the Prototyping Board.
J3 on PROG the RCM2100 module as shown in Figure 6 below. Be sure to orient the red edge of the cable towards pin 1 of the connector. (Do not use the connector, which is used for a DIAG normal serial connection.)
Ethernet capability or will be doing Ethernet-enabled development, you should con- nect the RCM2100’s Ethernet port at this time. There are four options for connecting the RCM2100 module to a network for development and runtime purposes. The first two options permit total freedom of action in selecting net- work addresses and use of the “network,”...
2.3.4 Connect Power When all other connections have been made, you can connect power to the RCM2100 Pro- totyping Board. Hook the connector from the wall transformer to header J5 on the Prototyping Board as shown in Figure 7 below. The connector may be attached either way as long as it is not offset to one side.
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.
OFTWARE NSTALLATION VERVIEW To develop and debug programs for the RCM2100 series (and for all other Z-World and Rabbit Semiconductor hardware), you must install and use Dynamic C. This chapter takes you through the instal- lation of Dynamic C, and then provides a tour of its major features with respect to the RCM2100 series.
• Windows NT • Windows Me • Windows 2000 3.2.1 Hardware Requirements The PC on which you install Dynamic C for development of RCM2100-based systems should have the following hardware: • A Pentium or later microprocessor • 32 MB of RAM •...
3.3 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. If autorun is disabled or the installation otherwise does not start, use the Windows menu or Windows Disk Explorer to launch from the root folder Start | Run SETUP.EXE...
(default). Only Dynamic C will be installed. • Compact Installation — You will be allowed to choose which components are • Custom Installation — installed. This choice is useful to install or reinstall just the documentation. RabbitCore RCM2100...
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. The default selection, as shown in the example above, is COM1. You may select any avail- able port for Dynamic C’s use.
If it is, check both ends of the programming cable to ensure that it is firmly plugged into the PC and the RCM2100’s programming port. If you are using the Prototyp- ing Board, ensure that the module is firmly and correctly installed in its connectors.
Page 27
If you are using Dynamic C version 7.04 or earlier, modify the BIOS source code as fol- lows. Skip these three steps if your version of Dynamic C is 7.05 or later. 1. Open the BIOS source code file named , which can be found in the RABBITBIOS.C directory.
EthCore1.c Once you have loaded and executed these five programs and have an understanding of how Dynamic C and the RCM2100 modules interact, you can move on and try the other sample programs, or begin building your own. Getting Started...
2 and 3 of this manual, and the Dynamic C Premier User’s Manual. 4.2.1 Connect Prototyping Board Section 2.3 provides detailed instructions for setting up the RCM2100 Prototyping Board and making its hardware connections. In summary: • Install the RCM2100 module on the Prototyping Board;...
4.3 Sample Program: FlashLED.c If you did not load and compile in the prior section, refer to Sections 4.2.3 FlashLED.c and 4.2.4. Program Description This program is about as simple as a Dynamic C application can get—the equivalent of the traditional “Hello, world!” program found in most basic programming tutorials. If you are familiar with ANSI C, you should have no trouble reading through the source code and understanding it.
The ability of Dynamic C to manage state machine programs enables you to create very powerful and efficient embedded systems with much greater ease than other programming methods. RabbitCore RCM2100...
Page 33
More Information See the entries for the function, as well as Section 5, “Multitasking with DelayMs() Dynamic C,” in the Dynamic C Premier User’s Manual. Getting Started...
(If the watchdog timer is not reset every so often, it will force a hard reset of the sys- tem. The purpose is to keep an intermittent program or hardware fault from locking up the system. Normally, this function is taken care of by the Virtual Driver, but it is called explicitly here). RabbitCore RCM2100...
Page 35
2. Sets up a costatement which calls two instances of the function, one for flashled() each LED. Note that one LED is flashed one second on, one-half second (500 ms) off, while the other is flashed in the reverse pattern. Note also the keyword in the costatement.
4.6 Sample Program: PingLED.c One of the RCM2100 series’s most important features is the availability of the built-in Ethernet port. This program makes the simplest possible use of the network port by “ping- ing” a remote system and using LEDs to report the status of the ping attempt and its return.
Page 37
The program then resolves the address to be pinged into a numeric value. using the library function . If the defined address is numeric, it converts the define string into resolve() truly numeric form. If the address is a domain name, the function queries the indicated DNS server to obtain the numeric address.
When the program starts, LEDs DS2, DS3 and DS5 will be lit, and DS4 will be dark. Open a web browser and enter the IP address you defined for the RCM2100 module in the program in the address window. A page like that shown in Figure 8 should appear.
Page 39
As with PingLED.c, several network addresses must be defined before this application can work. The most important is again , which defines the RCM2100 MY_IP_ADDRESS system’s IP address. The netmask value should be set if the default of 255.255.255.0 is not correct.
Some of them are \Samples intended for other hardware with somewhat different characteristics, but most can be run on the RabbitCore RCM2100 series modules, either as-is or with some modification. (All programs in the folder will run without changes on the \Samples\RCM2100 RCM2100 series.)
Page 42
REVISION HISTORY REVISION APPROVAL PROJECT APPROVAL DOCUMENT APPROVAL DESCRIPTION OF CHANGE DATE ENGINEER DATE CONTROL SRAM SRAM select FLASH 1 FLASH 1 select FLASH 2 FLASH 2 select ETHERNET OPTION PORTS D-E OPTION INTERRUPT/JUMPER OPTIONS APPEND THE FOLLOWING DRAWING CONTENT: DOCUMENTS WHEN CHANGING THIS DOCUMENT: 2900 SPAFFORD ST.
Page 43
BANK SELECT BATTERY BACK-UP CONFORMAL COATING NONE...
Page 44
REVISION APPROVAL REVISION APPROVAL REVISION HISTORY REVISION HISTORY PROJECT PROJECT APPROVAL APPROVAL DOCUMENT DOCUMENT APPROVAL APPROVAL DESCRIPTION DESCRIPTION ENGINEER ENGINEER DATE DATE CONTROL CONTROL DATE DATE APPEND THE FOLLOWING APPEND THE FOLLOWING DRAWING CONTENT: DRAWING CONTENT: DOCUMENTS WHEN CHANGING DOCUMENTS WHEN CHANGING THIS DOCUMENT: THIS DOCUMENT: 2900 SPAFFORD ST.
Page 46
REVISION APPROVAL REVISION HISTORY PROJECT APPROVAL DOCUMENT APPROVAL DESCRIPTION ENGINEER DATE CONTROL DATE APPEND THE FOLLOWING DRAWING CONTENT: DOCUMENTS WHEN CHANGING WORLD THIS DOCUMENT: 2900 SPAFFORD ST. DAVIS, CA 95616 APPROVALS: INITIAL RELEASE 530 - 757 - 4616 SIGNATURES DATE NONE...
Need help?
Do you have a question about the RCM2100 and is the answer not in the manual?
Questions and answers