 |
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)
|
|