RabbitCore RCM3000
Getting Started


3. Software Installation & Overview

To develop and debug programs for the RCM3000 (and for all other Z-World and Rabbit Semiconductor hardware), you must install and use Dynamic C. Dynamic C is an integrated development system for writing embedded software. It runs on an IBM-compatible PC and is designed for use with Z-World controllers and other controllers based on the Rabbit microprocessor. Chapter 3 provides the libraries, function calls, and sample programs related to the RCM3000.

3.1 An Overview of Dynamic C

Dynamic C has been in use worldwide since 1989. It is specially designed for programming embedded systems, and features quick compile and interactive debugging in the real environment. A complete reference guide to Dynamic C is contained in the Dynamic C User's Manual.

You have a choice of doing your software development in the flash memory or in the data SRAM included on the RCM3000. The advantage of working in RAM is to save wear on the flash memory, which is limited to about 100,000 write cycles. The disadvantage is that the code and data might not both fit in RAM.

NOTE Do not depend on the flash memory sector size or type. Due to the volatility of the flash memory market, the RCM3000 and Dynamic C were designed to accommodate flash devices with various sector sizes.

The disadvantage of using flash memory for debug is that interrupts must be disabled for up to approximately 5 ms whenever a break point is set in the program. This can crash fast interrupt routines that are running while you stop at a break point or single-step the program. The flash memory and SRAM options are selected through the "BIOS Memory Setting" from the Options > Project Options > Compiler menu.

Dynamic C provides a number of debugging features. You can single-step your program, either in C, statement by statement, or in assembly language, instruction by instruction. You can set break points, where the program will stop, on any statement. You can evaluate watch expressions. A watch expression is any C expression that can be evaluated in the context of the program. If the program is at a break point, a watch expression can view any expression using local or global variables. If a periodic call to runwatch() is included in your program, you will be able to evaluate watch expressions by hitting <Ctrl-U> without stopping the program.

3.2 Installing Dynamic C

Insert the Dynamic C CD from the Development Kit in your PC's CD-ROM drive. If the installation does not auto-start, run the setup.exe program in the root directory of the Dynamic C CD. Install any Dynamic C modules after you install Dynamic C.

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 installation type is selected in the installation menu shown above. The options are:

3.3 Sample Programs

To help familiarize you with the RCM3000 modules, Dynamic C includes several sample programs in the Dynamic C SAMPLES\RCM3000 directory. 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.

Two folders contain sample programs that illustrate features unique to the RCM3000.

Follow the instructions included with the sample program to connect the RCM3000 and the other hardware identified in the instructions. The RCM3000 module must be installed on the Prototyping Board as shown in Figure 3.

To run a sample program, open it with the File menu (if it is not still open), compile it using the Compile menu (or press F5), and then run it by selecting Run in the Run menu (or press F9). The RCM3000 must be connected to a PC using the programming cable.

More complete information on Dynamic C is provided in the Dynamic C User's Manual.

Once you have loaded and executed these sample programs and have an understanding of how Dynamic C and the RCM3000 modules interact, you can move on and try the other sample programs, or begin building your own.

3.3.1 Serial Communication

The following sample programs can be found in the SAMPLES\RCM3000\SERIAL folder.

Two sample programs, SIMPLE485MASTER.C and SIMPLE485slave.C, are available to illustrate RS-485 master/slave communication. To run these sample programs, you will need a second Rabbit-based system with RS-485, and you will also have to add an RS-485 transceiver such as the SP483E and bias resistors to the RCM30/31/32XX Prototyping Board.

The diagram shows the connections. You will have to connect PC0 and PC1 (Serial Port D) on the RCM30/31/32XX Prototyping Board to the RS-485 transceiver, and you will connect PD4 to the RS-485 transceiver to enable or disable the RS-485 transmitter.

The RS-485 connections between the slave and master devices are as follows.

• RS485+ to RS485+
• RS485– to RS485–
• GND to GND

3.3.2 Other Sample Programs

Section 4.11 describes the TCP/IP sample programs, and the RabbitCore RCM3000 User's Manual provides sample programs for the optional LCD/keypad module that can be installed on the Prototyping Board.

3.4 Upgrading Dynamic C

Dynamic C patches that focus on bug fixes are available from time to time. Check the Web sites

or

for the latest patches, workarounds, and bug fixes.

3.4.1 Add-On Modules

Dynamic C installations are designed for use with the board they are included with, and are included at no charge as part of our low-cost kits. Z-World offers add-on Dynamic C modules for purchase, including the popular µC/OS-II real-time operating system, as well as PPP, Advanced Encryption Standard (AES), and other select libraries.

In addition to the Web-based technical support included at no extra charge, a one-year telephone-based technical support module is also available for purchase.


PREV NEXT INDEX


Z-World, Inc.
www.zworld.com
Phone: 1.530.757.3737
FAX: 1.530.757.3792
Rabbit Semiconductor
www.rabbitsemiconductor.com
Phone: 1.530.757.8400
FAX: 1.530.757.8402