|
Speed Time to Market with Dynamic C®
Dynamic C® is an integrated C compiler, editor, loader, and debugger designed specifically for Rabbit microprocessor-based products. The Dynamic C integrated development envrionment provides a platform for developing applications quickly for fast time to market. Since 1990, Z·World's effective integration of hardware and software has helped design engineers develop thousands of successful OEM products. Available add-on modules allow you to customize your software capabilities.
New Features in Dynamic C 9
Execution Tracing - Traces code execution and stores the trace information on the host PC. Execution can be traced by any combination of function call, C statement or user inserted trace points. Results are displayed in the Trace window.
Symbolic Stack Tracing - Shows the function call path of the program at each single step or breakpoint when the program is stopped. Values and names of stack auto variables and arguments are also displayed.
Enhanced Watch Expressions - structs can now be displayed as a tree structure simply by entering the struct name as a watch expression. struct members no longer need to be added separately to the watch expression list.
Persistent Breakpoints - Breakpoint information is now retained when switching between edit mode and debug mode and when a file is closed and re-opened. Breakpoints may be set while in edit mode also.
Attach to a Running Target - Debug mode can be entered without recompiling and reloading the program if the program isn't edited. This helps debugging if target communication is lost due to a target program crash.
Enhanced Memory Dumps - Changed data in the Memory Dump window is highlighted in reverse video or in customizable colors every time you single step in either C or assembly to better visualize changes.
TCP/IP Improvements - Reduced TCP/IP root memory usage and increased TCP/IP speed.
SMTP AUTH - added to support email servers that require authentication.
Display Target Information While Compiling - information about target type, CPU type and speed, and memory configuration is now displayed when compiling and downloading a program.
Dynamic Buffer Allocation - An API for dynamic allocation of root and extended memory was added. This makes it easier to implement algorithms such as linked lists. The allocation is implemented with pools of like-sized objects to prevent heap fragmentation. Care must still be taken by the programmer to avoid heap exhaustion.
Add-On Modules
Select from a wide range of add-on library modules to customize your programming needs. These low-cost modules are sold separately, allowing you to buy only the software capability your application requires, at an optimum cost-savings. Additional user licenses, site licenses, and educational licenses are also available.
Modbus
Modbus TCP is the Ethernet variant of the Modbus protocol, which is a standard communications protocol in industrial automation systems. The Modbus TCP Software Module comes with all the necessary tools for you to integrate Modbus connectivity right into your Rabbit-based systems. The Modbus TCP Master and Slave, and Modbus Serial Master and Slave allows you to connect a Rabbit-based system right into an existing Modbus network with devices connected through either Ethernet or a standard serial connection. In addition, the Modbus module supports an Ethernet-to-serial Gateway that allows you to monitor and control Modbus serial slave devices via a standard web browser. The Modbus TCP Software uses the RCM3700 and BL2600 as an application reference, using generic libraries that are easily transferable to other Rabbit-based systems. With the addition of the optional RabbitWeb Add-on Module (sold separately), you will be able to set-up, configure, and monitor Modbus TCP slave devices. Only MODBUS RTU is currently supported, MODBUS ASCII is not supported. Many PLC's have moved on to using Ethernet as the physical layer of their Modbus infrastructure, and the Modbus TCP software gives you the power of Rabbit connectivity!
RabbitSys
RabbitSys is easy to use and helps system integrators save time and money. Those who already work with Dynamic C® will find RabbitSys easy to work with using the RCM3365 RabbitSys core module. Features such as the program monitor, the event handler, and safe system shutdown cradle your application and make it resistant to external transient errors. RabbitSys creates a solid foundation and increases system reliability for Rabbit-based embedded systems programmed with Dynamic C.
Assurance of reliability extends beyond the confines of the development environment. The remote capabilities of RabbitSys enable embedded programmers to raise e-mail alerts when a software failure occurs. During such failures, RabbitSys takes the necessary steps to return attached equipment to its default state. RabbitSys removes the burden and expense of sending out a technician. Instead, a simple network connection and software update to the malfunctioning device repairs the problem. RabbitSys also scales with the deployment of new devices, allowing you to manage many devices concurrently.
RabbitWeb
RabbitWeb is new way of creating HTML forms for web pages that interface with C variables in embedded networked applications. RabbitWeb can reduce weeks or months of complex Common Gate Interface (CGI) programming down to hours. RabbitWeb consists of enhancements to our Dynamic C compiler, and extensions to our embedded HTTP server. A small number of proprietary new HTML scripting extensions that are handled by the HTTP server, and the new #web compiler directive and associated options will usually be enough to eliminate all of the C programming involved in parsing HTML form input and generating HTML pages based on program variables.
RabbitWeb is a must-have for anyone planning or considering a web browser interface to monitor, control or configure their networked embedded application.
Secure Sockets Layer (SSL) — Requires RCM3300 or RCM3700
SSL is the most common form of security used on the Internet. All modern web browsers support it. Rabbit's efficient, small footprint implementation SSL allows SSL security to be added to web-enabled applications with just a few lines of code. The SSL module includes a utility program for generating the security certificates needed to use SSL.
The SSL module is for Rabbit 3000A chip and later based products - this includes the RCM37xx and RCM33xx series. It takes advantage of unique new block arithmetic instructions in those chips that speed up encryption/decryption considerably, making SSL fast and economical for small embedded systems.
FAT File System — Requires RCM3300 or RCM3700
The FAT file system familiar to many programmers is now available for Rabbit products with serial flash memories, including the RCM33xx and RCM37xx series. This easy to use file system is integrated with HTTP upload and FTP for run-time updates of web pages and graphics, security access lists, embedded help files, or any file that needs to be changed in the field.
SNMP Source Code & Sample Programs
Simple Network Management Protocol (Version 1). Based on RFCs 1155-1157. Traditionally, SNMP was designed and used to gather statistics for network management and capacity planning. For example, the number of packets sent and received on each network interface could be obtained. But because of its simplicity, SNMP use has expanded into areas of interest to embedded systems. It is now used for many vendor-specific management functions, e.g., showing a thermostat temperature, machine tool RPM or whether the front door was left open.
PPP Source Code & Sample Programs
Point-to-Point Protocol driver for serial and PPPoE links. This allows a serial or modem connection to use TCP/IP. Based on RFC2516 "Method for transmitting PPP over Ethernet."
AES Source Code & Sample Programs
Advanced Encryption Standard. This is an implementation of the Rijndael Advanced Encryption Standard cipher with 128 bit key. This is useful for encrypting sensitive data to be sent over unsecured network paths.
RFU Source Code
Rabbit Field Utility. This is the Borland C++ Builder source code for the RFU utility that comes with Dynamic C for those wishing to customize the code. The utility allows binary image files generated by Dynamic C to be loaded to Rabbit targets without Dynamic C.
Library Encryption Executable
This is a utility program in .EXE format only that runs on the Dynamic C PC development host. It encrypts Dynamic C library source files into an unreadable format that Dynamic C knows how to decipher. The purpose of this functionality is for third parties to release or sell code for drivers or other things without releasing readable source code.
µC/OS-II Real-Time Kernel Source Code & Sample Programs
Jean LaBrosse's popular real time kernel. This is a preemptive, prioritized kernel that allows 63 different tasks, flags, semaphores, mutex semaphores, queues, and message mail boxes. The book MicroC/OS-II; The Real-Time Kernel by Jean J. Labrosse is included with this module.
Standard Features
Full-feature source and/or Assembly-level debugger, no in-circuit emulator required.
Royalty-free TCP/IP stack with source code and most common protocols.
Hundreds of functions in source-code libraries and sample programs
Exceptionally fast support for floating-point arithmetic and transcendental functions
RS-232 and RS-485 serial communications
Analog and digital I/O drivers
I2C, SPI, GPS, file system
LCD display and keypad drivers
Powerful language extensions for cooperative or preemptive multi-tasking
Loader utility program to load binary images into Z·World targets in the absence of Dynamic C
Create your own source code libraries and augment on-line help by creating "function description" block comments using a special format for library functions
Dynamic C's enhancements to standard C facilitate real-time programming on powerful embedded systems. Language extensions include constructs for cooperative and preemptive multi-tasking and protecting writes to variables during power failures. Libraries for standard C functions, board-specific peripheral drivers, chip peripherals, and other features are included in source code format. Assembly language programming is fully supported, and Assembly code is easily mixed with C code for time-critical applications.
Developing software with Dynamic C is simple. Users can write, compile, and test C and Assembly code without leaving the Dynamic C development environment. Debugging occurs while the application runs on the target. Alternatively, users can compile your program to an image file for later loading. Dynamic C runs on PCs under Windows 95, 98, 2000, NT, ME, and XP. Programs are downloaded at baud rates of up to 460,800 bps while the program compiles.
Standard Debugging Features
Breakpoints - Set breakpoints that can optionally disable interrupts.
Single-stepping - Step into or over functions at a source or machine code level — uC/OS-II aware.
Code disassembly - The disassembly window displays addresses, opcodes, mnemonics, and machine cycle times. Switch between debugging at machine code level and source code level by simply opening or closing the disassembly window.
Watch expressions - Watch expressions are compiled when defined, so complex expressions including function calls may be placed into watch expressions. Watch expressions can be updated with or without stopping program execution.
Register window - All processor registers and flags are displayed. The contents of general registers may be modified in the window by the user.
Stack window - Shows the contents of the top of the stack.
Hex memory dump - Displays the contents of memory at any address.
STDIO window - printf outputs to this window, and keyboard input on the host PC can be detected for debugging purposes. printf output may also be sent to a serial port or file.
TCP/IP Libraries
Dynamic C includes extensive TCP/IP libraries and sample programs that serve as application templates for fast program development.
|