Home

PIC Products
ABS Products
Surplus

Ordering
Distributors
Downloads
Links

Electronic
Assembly


Policies
Contact Us

FED PIC C Compiler Features

        Scroll down to view FED PIC C Compiler features, or click on the Feature links immediately below to jump directly to a section of interest.



FED PIC C Compiler Feature Index:

Designed to ANSI C Standards
Efficient Code Production
Floating Point Support
Wide range of Library Functions
Integrated Development Environment
Debugging Supported Within The Environment
Supports The Full Range of PICmicroŽ MCUs


Designed to ANSI C Standards

        The FED C Compiler is designed to ANSI C Standards. This means that we have chosen the vast majority of the ANSI Standard and designed the C Compiler to that standard. Those areas which are not compliant are shown below:
  • Types - the compiler supports char, int, long, and float types (integers in signed and unsigned form). double type is not supported.
  • The ... form for functions is supported - but only through assembler.
  • Old style "Kernigan & Ritchie" function definitions are not supported.
  • Only those ANSI library routines which are relevant to typical micro-controller applications are included.
(back to feature index)


Efficient Code Production

        The FED C Compiler is intended for maximum efficiency in code size and speed as many MCU devices are limited in the amount of ROM provided. Some specific examples are shown below:
  • Efficient handling of char types. As the PIC devices are 8 bit controllers, char types can be handled very efficiently. For example if x and y are global char types, then:

    x=0 compiles to one word
    x=y compiles to two words
    y=x++ compiles to three words

  • The linker places modules in memory to minimise inter-page and long jumps.
  • The FED C Compiler includes a software stack which may be used for local variables. However if it is possible, local variables are stored in temporary global memory space, the size of this area is controlled by the user. This can produce very significant savings in program execution time.
  • Functions may be called using the internal call stack if call depth is 6 or less (which is very efficient), or may use the software stack which allows far deeper calling and even recursive functions.
  • Wherever possible, the W register is used to hold intermediate results.
(back to feature index)


Floating Point Support

        The FED C Compiler now supports a 4 byte float type to IEEE standards. The float type supports numbers from approx +/-10-37 to +/-10+38, and has full arithmetic and cast to/from integer support in line with ANSI C. The following library functions are provided:
  • Trigonmetric Functions - sin, cos, and tan.
  • Log and Power functions - exp, log, log10, pow, pow10, and PowerSeries.
  • Additional math functions - fabs, sqrt, exponent, and mantissa functions.
  • Random numbers - rand, srand.
  • Print to String - fPrtString.
  • Constants provided - e, PI, LN2, LN10 etc...
(back to feature index)


Standard Libraries

        The FED C Compiler comes complete with a number of library routines including:
  • Asynchronous serial port handling.
  • Delays & Waiting .
  • LCD module handling.
  • Infra Red data transfer to IRDA standards.
  • Interrupt driven serial communications.
  • IIC bus.
  • String handling functions.
  • Synchronous (clocked) serial data I/O.
  • DALLAS one wire bus interface.
  • Keypads.
  • Maths functions (some listed above).
  • Bootloader for in circuit re-programming.
  • Graphic LCD drivers for T6963C device.
  • stdio/stdlib/ctype standard libraries.
  • printf and varieties.
  • Remote control - RC5 standard protocols.
(back to feature index)


Integrated Development Environment

        The FED C Compiler runs under Windows 95, 98, 2000, XP, or NT4. It consists of a multi-file editor which includes syntax highlighting and a full project development environment. The standard version of the FED PIC Compiler includes fully integrated debugging (see immediately below) with a simulator which is about 10 times faster than other Windows based simulators for the PICmicroŽ MCU and a Waveform Analyzer to view your output. Help file support is complete, simply click on the keyword and press Ctrl F1.

View a typical IDE Screenshot - in this case WIZ-C, the C Compiler is identical except for the lack of the application designer window.

(back to feature index)


Debugging

        All versions of the FED C Compiler produce assembler code which is debugged within the environment. Within FED C, the program may be fully debugged, the C Source code is displayed alongside the assembler code and may be single stepped or run to a breakpoint.

Variables may be examined in char, int, long or float form, decimal or hex, signed or unsigned, or hex values dumped. For the professional version, C types may be examined in source format - for example structures are displayed with member names and contents.

Here are some features of the debugger:
  • Full editor with syntax highlighting in color. Follow your code as it steps through the editor window, view help file information directly from the code.
  • Set breakpoint on line, jump to label, evaluate memory variables all by single click.
  • Simulator allows addressed, conditional and timed breakpoints.
  • Simulator runs up to 50 times faster than DOS based simulators and 10 times faster than some other Windows based simulators.
  • Waveform Analyzer allows any register or port value to be examined in analog (graphical), waveform, or numeric values, allowing you to check your program directly against your predicted waveforms.
  • Debugger allows variables to be examined in byte, word or long form, octal, decimal, hex and floating form, also dump memory areas.
  • Profiler examines and times called routines - use it to optimize out bottle necks and check timing loops.
  • Track errors and jump straight to error lines.
  • Input stimuli include clocks, direct values and asynchronous serial data.
  • Allows full use of 32 bit Windows facilities - controls and long filenames.
  • Includes full terminal emulator program and support for in-circuit debugging on all devices.
The External Device Debugging facility (see Simulation Features page for details) allows many types of peripheral to be examined whilst the code runs including terminals, displays, I2C, Switches, Keypads etc.

The FED C Compiler includes a Waveform Analyzer which may be used to examine changing values on the pins of the PICmicroŽ MCU, or in any internal register.

(back to feature index)


Supported PICmicroŽ Devices

18F6520, 18F6620, 18F6720, 18F8520, 18F8620, 18F8720, 18F4680, 18F4620, 18F4610, 18F4585, 18F458, 18F4550, 18F4525, 18F452, 18F4515, 18F4510, 18F448, 18F4455, 18F4431, 18F442, 18F4410, 18F4331, 18F2680, 18F2620, 18F2610, 18F2585, 18F258, 18F2550, 18F2525, 18F252, 18F2515, 18F2510, 18F248, 18F2455, 18F2431, 18F242, 18F2410, 18F2331, 18F1320, 18F1220, 18F020, 18F010, 18C452, 18C442, 18C252, 18C242, 16F88, 16F877A, 16F877, 16F876A, 16F876, 16F874A, 16F874, 16F873A, 16F873, 16F872, 16F871, 16F870, 16F87, 16F84, 16F83, 16F822, 16F821, 16F820, 16F818, 16F819, 16F688, 16F684, 16F676, 16F648A, 16F628, 16F627, 16ce625, 16ce624, 16ce623, 16C924, 16C923, 16CR84, 16CR83, 16C84, 16C774, 16C773, 16C77, 16C765, 16C76, 16C74A, 16C74, 16C73B, 16C73A, 16C73, 16C72, 16C71A, 16C715, 16C711, 16C710, 16C71, 16C70, 16C67, 16C662, 16C661, 16C66, 16C65A, 16C65, 16C64A, 16C642, 16C641, 16C64, 16C63A, 16C63, 16C62A, 16C622, 16C621, 16C620, 16C62, 16C61, 16C558, 16C556, 16C554, 14000, 12F683, 12F675, 12F629, 12CE674, 12CE673, 12C672, 12C671

This list may not be complete as new PICmicroŽ devices are developed regularly.

(back to feature index)




Forest Electronic Developments Homepage