Grantronics logo Grantronics: Micro/C Compilers

 

This is a large page so that all the MICRO-C information may be downloaded or printed in one go.
If you would prefer a cluster of smaller pages, please leave a message.


Home Grantronics Home Page


What is MICRO-C?

MICRO-C is a low cost PC based C language compiler optimised for the restricted and specialised environment of embedded microcontrollers. It is produced by Dunfield Development Systems (DDS) in Canada. MICRO-C is portable: currently, there are versions for the 68HC08, 6809, 68HC11, 68HC12, 68HC16, 8051/52, 8080/85, 8086, 8096 families. MICRO-C is supplied as a Developer's Kit with everything you need to develop C and Assembly Language software for a particular CPU.


MICRO-C Features

The MICRO-C compiler is a “subset” of the ANSI C standard . It does however, support much more of the ‘C’ language than most other subset compilers, including:

MICRO-C does NOT support: Typedef, Long / Double / Float / Enumerated data types or Bit fields. 32 bit “long” number math functions are provided in the library. These may be easily adjusted to manipulate numbers up to 256 bits. The 8051 Compiler includes a floating point library.


MICRO-C Function Libraries

The standard libraries include the following functions (there are minor differences between CPUs):

The "long" number math functions include:


DDS MICRO-C Developers Kits

These are complete PC based cross development systems which include EVERYTHING you need to develop ‘C’ and ‘ASM’ software for one CPU.


MICRO-C Prices

Order Code Description Price (no GST) Price inc GST
DDSDK08 68HC08 Developers Kit $170.00 $187.00
DDSDK09 6809 Developers Kit $170.00 $187.00
DDSDK11 68HC11 Developers Kit $170.00 $187.00
DDSDK12 68HC12 Developers Kit $170.00 $187.00
DDSDK16 68HC16 Developers Kit $170.00 $187.00
DDSDK51 8051/52 Developers Kit $170.00 $187.00
DDSDK80 8080/85 Developers Kit $170.00 $187.00
DDSDK86 8086 Developers Kit $170.00 $187.00
DDSDK96 8096/196 Developers Kit $170.00 $187.00
DDSDKAVR Atmel AVR Developers Kit $170.00 $187.00
DDSSDK Super Developers Kit $600.00 $660.00

NOTES


MICRO-C Companion Products


C-FLEA: A complete C virtual machine development and runtime environment

C-FLEA is a "virtual machine", which was designed from the "ground up" to run 'C'. It provides an easy way to implement 'C' on CPU's that are not supported with standard 'C' compilers, are too small/weird for efficent native implemention of C, or use a system design requiring memory that is not directly executable (eg: serial). The C-FLEA can also be used to implement 'C' application languages embedded within other programs, and has many other useful purposes.

Order Code Description Price (no GST) Price inc GST
DDSFLEA C-FLEA Developers Kit $170.00 $187.00

You can download a demo version of C-FLEA (234k). Note that this is the Micro/C compiler demo.

Check out our GMC75X Microcontroller module designed for running C-FLEA.


MICRO-C/PC: MICRO-C for the PC/DOS

A complete and fully functional version of the MICRO-C compiler for DOS and IBM-PC compatible systems. This has an extensive library with over 240 functions including TSR support, Windowing, Serial Comms and lots more (library source code is included). Over 80 example programs:

This package was reviewed in the C/C++ User's Journal of January 1995. (3.5" 1.44MB diskette only)

Order Code Description Price(no GST) Price inc GST
DDSMCPC Micro-C/PC $43.00 $47.30

XASM/DASM: A set of Cross Assemblers, Disassemblers and related Utility programs

Assemblers

Includes cross assemblers for the 6800, 6801/6803, 6805, 6502, 68HC08, 6809, 68HC11, 68HC12, 68HC16, 8051/52 8080/85, 8086, 8096 and Atmel AVR families.

Disassemblers

These are "smart" disassemblers with many features to assist in the generation of complete symbolic, commented ASM source from binary machine code.

Utility Programs

Utility programs included:

Plus: Utilities for converting to/from other popular assembler formats.

Order Code Description Price(no GST) Price inc GST
DDSXDASM DDS Cross assemblers and Disassemblers $85.00 $93.50

You can download a demo version of XASM (47k) or DASM (28k). Remember, you get both in the one package!


MONITORS: Powerful software debugger and monitor programs.

NOTE: Some features may differ slightly in some monitors.
Price includes all six monitors.

Order Code Description Price (no GST) Price inc GST
DDSMON DDS Debugger/Monitors $85.00 $93.50

EMILY52: A PC based 8051/52 simulator. Now includes Emily320 for the Dallas 80C320.

A software simulator/emulator for the Intel 8051/8052 series of microcontrollers. EMILY features an easy to use “windowed” user interface, and is capable of simulating at better than 500,000 instructions per second on a 486/33MHz PC.

Order Code Description Price (no GST) Price inc GST
DDSEM52 DDS 8051/52 + 80C320 Simulator $85.00 $93.50

You can download a demo version of Emily52 (80k).


Project Plans:

This package include all of the necessary schematics, software and documentation to construct the six described devices.

EPROM: Stand-Alone EPROM programmer.

D-BOX: Computer Control of VCR’s etc.

IR232: Serial (RS-232) controlled "learning" Infared Remote

RINGSWITCH: Automatic telephone line switch.

8031 DESIGNS: Several 8031/8051 core system designs

8051 ICE: In-circuit emulator for 8051 microcontroller.

* NEW *

CUBIX: Complete 6809 computer system with floppy disk interface

DARC: General purpose Amateur Radio/Repeater Controller.

ICOM: CI-V Computer control interface for ICOM Amateur radios.

HTX242: Computer control of the RS HTX242 radio via microphone data signals.

Order Code Description Price (no GST) Price inc GST
DDSPROJ Project Plans $50.00 $55.00

NOTE: Price includes all listed project plans


DLM: Data Line Monitor.

Turns your PC into a DATASCOPE.
This program monitors both sides of an asynchronous data communications line using a passive “Y” cable which connects to the monitored devices and BOTH com ports of your PC (COM1 and COM2). This tool is invaluable for debugging ANY asynchronous connection, such as TERMINALS, MODEMS, SERIAL PRINTERS and PROTOCOL debugging. It allows you to actually SEE the data and signals being passed between the devices.

Order Code Description Price Price inc GST
DDSDLM DDS Data Line Monitor $50.00 $55.00

You can download a demo version of DLM (29k).


Demonstration Disk

High density diskette (1.2 or 1.4Mb) containing freeware and demo versions of DDS software. This diskette includes many example programs, and LOTS of source code (‘C’ and ASM) including DLM, EMILY52, code to run on a PC without DOS (embedded PC), a simple VGA drawing system, DOS-based Help system, MICRO-C demos, DOS file and directory utilities and XASM/DASM.

Order Code Description Price (no GST) Price inc GST
DDSDEMO DDS Demo Disk $5.00 $5.50
Demo is free with any other item

If you can't wait for a full demo disk, you can download the Micro-C Embedded Controller Compiler demo now (about 236k). Remember to use the -d switch with pkunzip when you expand the demo archive.

Here is a complete list of the demo files on the demo disk (updated 19 Dec 1998).

DDS Product demos UPDATED
MC321PC.ZIP 303k MICRO-C native PC C compiler *
MC321EMB.ZIP 236k MICRO-C embedded C compiler - Test Drive *
EMILY52.ZIP 80k 8051/52 Simulator/Emulator/Debugger
DASM110.ZIP 28k Cross Disassembler
XASM250.ZIP 47k Cross-Assemblers
DLM160.ZIP 29k Data Line Monitor - Turn PC into a datascope
DDS Add-on/Support files
APPNOTES.ZIP 24k Product application notes
AVRLOAD.ZIP 14k InCircuit Device Programmer for AVR family (Kanda & Dunfield).
EMBEDRAW.ZIP 56k Tools for Drawing/Printing/Emailing schematic drawings
EMBEDPC.ZIP 59k Functions for DOS-LESS use of PC hardware
LAPTALK.ZIP 45k A full-featured small terminal emulator
DDSUTILS.ZIP 263k Misc. programmer's utilities
Useful third Party (non-DDS) files
ARROWASM.ZIP 24k PD Intel/Microsoft compatible assembler
VAL.ZIP 33k PD Intel/Microsoft compatible linker
FLOAT51.ZIP 11k Micro-C callable 8051 floating point library
UNZIP.EXE 27k Program to unpack .ZIP archives

* = Remember to use the -d switch with pkunzip when you expand the demo archive.

For more demo files, have a look at the Dunfield Development Systems download page.


Common Questions and Answers

Q: Is MICRO-C just another version of SMALL-C?

A: No, MICRO-C is a completely new design, with several advantages:


Q: Does MICRO-C run on a Macintosh or UNIX box?

A: At the present time, all of our official products run on the IBM PC under DOS or a DOS compatible operating system. We may be able to provide unofficial ports to other platforms, however technical support will be minimal. Contact us for more information.


Q: Does MICRO-C output assembly code? Do I need an assembler?

A: MICRO-C generates assembly code. All developers kits include our XASM cross assembler, which our CC commands automatically run for you, giving you a “one step” compile. A command option allows you to include the ‘C’ source code as comments in the ASM listing.


Q: Does MICRO-C support the .... (insert your favourite processor)?

A: See the earlier sections of this Information Sheet for a list of processors which are directly supported. We have application notes on adapting the compiler to use with CPU variants (such as extra registers/ports or differing memory maps).
If you need support for a different processor, please check with us. Dunfield Development Systems may be planning a release for the processor you want (or perhaps you can “convince” us/them that it would be a good idea).
Or, consider the C-FLEA system - it may already have been ported to your CPU.


Q: How much code can I fit in (nK) of memory?

A: That depends on so many factors that it's impossible to give you a general answer. It is usually more than you would think, because MICRO-C produces fairly compact code. This is especially true with our “Developers Kits”, because their libraries are hand-coded in assembly language, using very tight code. Here are some example applications:


Q: Is MICRO-C really as good as you say it is?

A: "Sturgeons Rule has it that 90% of science fiction is junk. A similar rule applies to PC software, but I’d say that 90% is a lower bound. Once in a while, though, you find a product that makes up for the rest.. If price has kept you out of the microcontroller C market, you have no further excuses. Micro-C is as good as it gets!"
- Circuit Cellar INK Dec91/Jan92

"I just obtained Micro C, and I’m very impressed!... The portability of Micro C is second-to-none, as is it’s professionally written code and overall usability... I need to emphasize here that Micro C is by far the best coded compiler I’ve ever seen. This excellent code quality extends throughout all associated modules."
- FIDOnet ‘C’ programmers echo

"In generating code for this column, I turn my attention to Dunfield's Micro-C 8051 products. The developer's package provides everything you need to develop embedded programs for 8051 family processors and includes a C compiler, assembler, optimizer, linker, librarian, a bunch of useful utilities, and a full library source of a variety of memory models, examples, and documentation. What amazes me most about this product is that the full package goes for about a third of what I paid for my first 8051 cross-assembler alone! Dunfield's package is a reminder to not let a price tag fool you. I've used a lot of the market's big-buck packages and Dunfield's compares favourably in efficiency and code size. As for the price, there is no comparison."
- John Dybowski, Circuit Cellar Ink, Issue #58 May 1995.


Q:
Is the EMILY52 simulator really that fast?

A: EMILY’s speed is dependant on your PC (>150,000 inst/sec on 386/25, >500,000 inst/sec on 486/33). Tests have shown EMILY on the 386/25 to be roughly equivalent to a 4MHz 8052. For example, a customer reported that an algorithm he had calculated would take about 1 second on a 12MHz 8052 took 3 seconds under EMILY. In contrast, the same program took over 20 MINUTES when run with another popular simulator.


Q: How does EMILY52 compare with a hardware in-circuit emulator?

A: Emily, with its hardware emulation option, permits access to the timers and I/O ports of the hardware, however external memory on the target system cannot be accessed (EMILY provides its own code and data areas using the PC’s memory). This is usually only important if you have hardware which is accessed through the external memory address space.
At present, EMILY does not act on interrupts from the target system, but allows you to simulate them from the PC keyboard. When an interrupt is simulated, EMILY sets any hardware bits which would normally be set by that interrupt, and then vectors to the interrupt handler. Although this prevents using “real time” interrupts, I have found it to be a very effective approach when debugging interrupt handlers. You can stop the simulation at any point, inject an interrupt, and then step through the interrupt handler etc. EMILY has a 4095 instruction traceback buffer, which operates in all execution modes, however it only records the instructions executed. In other words, you can scroll/search through the last 4095 instructions which were executed in order to see “how it got here”. More expensive ICE’s often have traceback buffers which record both the address and data bus activity.
EMILY now includes MONICA, a PC hosted debugger, that debugs ON-CHIP, by downloading your code, and controlling it through a tiny on-board kernel program. MONICA’s user interface is virtually identical to EMILY’s, and the kernel is upward compatible with EMILY.
This means that you can easily switch back and forth between EMILY and MONICA, and use whichever is best suited to the debugging at hand. MONICA can use the on-chip memory of a DALLAS DS5000 processor, making it a true single-chip in-circuit emulator when used with this device.
EMILY/MONICA is much less expensive than any ICE!


Upgrades

All Dunfield Development Systems software upgrades are priced at 50% of the new product price rounded up to the nearest dollar plus the standard shipping and packaging charge. You must be able to supply your existing serial number before we can accept your upgrade order.


Programmer's Editor 

If you are looking for something better than the Dunfield IDE editor, we recommend (and use) ED for Windows. It is a great Australian product at a very reasonable price and leaves all the IDE editors I have seen in the dust... ;-).


Credit cards accepted

Home

Grantronics Home Page


Last updated: 26 March 2004

Copyright © 2003, Grantronics Pty Ltd. All rights reserved.

Information in this document is subject to change without notice.
Other products and companies referred to herein are trademarks or
registered trademarks of their respective companies or mark holders.