- Debugging/Development Tools
- Demonstration versions
- Emulator Support
- Fuzz-C™ Fuzzy Logic Preprocessor
- Introduction (simplified Chinese)
- What's New
- product registration
- Distributors and resellers
- About Us
- Fixed Point
- Fuzzy Logic
- FAE/Client Login
- more information
C6808 C Compiler for Freescale HC08/HCS08/RS08
C6808 | MC68HC08 | RS08
The C6808 Code Development System supports all Freescale HC08, HCS08, and RS08 microcontrollers.
The C6808 Code Development System includes:
an optimizing C Cross-compiler,
the BCLink linker,
an Integrated Development Environment and editor,
a built-in macro cross-assembler.
C6808 has several key features:
Support for Freescale RS08 in C6808 is now available. See RS08 support for details.
#pragma thread directives allow a threaded programming style, with or without interrupts. C6808 causes threads to be dispatched on a combination of hardware and software factors. See Threads in C for more information.
C6808 includes enhanced memory management such as LOCAL and _Access memory directives. The LOCAL address space directive allows the user to maximize the use of RAM, direct the placement of local variables, re-use RAM locations and pass multiple arguments to functions.
The _Access memory directive adds support for variables in all types of memory, external or internal. For more information, see this article.
Other features of the C6808 Code Development System include:
Highly optimized generated code. Full versions generate ROMable code, demonstration versions generate listing files with assembly.
Part-specific header files describe the unique features of each target device.
Compiler configuration using
Ports are declared and protected using the
#pragma portseries of directives, with read and write restrictions.
#pragma vectordirective specifies the location and assigned name for interrupt sources.
BClink Linker links object files and libraries compiled with C6808
Alternatively, object libraries can be included directly in C source files using Absolute Code Mode.
Named address spaces support the grouping of variables at specific memory locations.
_Accessaddress space declares variables at special locations such as external devices or internal EPROM.
LOCALaddress space allows you to use local variables. Local variables are reused between functions, saving resources.
Extensions to the C language are designed specifically for the embedded systems developer. Some extensions include bit-sized data types, binary constants, direct variable placement with the @ symbol, and support for processor-specific functions and instructions.
Data types include:
char, short, int, long
Unambiguous integers: int8 to int32.
Fixed point types: _Fract, _Accum, and unambiguous versions
Register-oriented types for direct access to processor registers when necessary
The default int data type is selectable between 8 or 16 bits.
Packed bit fields in structs are available.
Include single and multiple lines of inline assembly within a C program with the #asm and #endasm directives
Extensive control over computer-generated initialization is available.
C6808 generates source-level information required for emulators.
The compiler supports the instruction extensions DAA, MUL, STOP, WAIT, CLC, CLI, NOP, RSP, SEC, SEI, SWI
Direct access to AC, X, CC registers through C is available.
C6808 supports special memory location access to various configuration registers.
C6808 generates source-level information required for source level debugging.
Use this with many evaluation boards and emulators, including Freescale, P&E, Ashling.