logo slogan

Byte Craft C compiler for 6808 & RS08


The C6808 Code Development System includes:

• an optimising C Cross-compiler with RS08 Support
• the BCLink linker.
• an Integrated Development Environment and editor.
• a built-in macro cross-assembler.


FAEs who are planning to introduce their clients to the MC9S08QE128 Flexis part should contact fae@bytecraft.com for more information about our support.


Flexis' paged memory model can benefit from a compiler's calculations. Optimizations during linking allows a compiler to distinguish between different types of cross-page references.




Memory Management


C6808 includes enhanced memory management such as LOCAL and SPECIAL 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 SPECIAL memory directive adds support for variables in all types of memory, external or internal.

Features In Detail

Other features of the C6808 Code Development System include:

• Highly optimised 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 #pragma directives.

• ports are declared and protected using the #pragma port series of directives

• the #pragma vector directive specifies the location and assigned name for interrupt sources.

• BClink Linker links object files and libraries compiled with c6808.exe

• 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.

• SPECIAL address space declares variables at special locations such as external devices or internal EPROM.

• LOCAL address space allows you to use local variables.

• extensions to the C language designed specifically for the embedded systems developer. Some extensions include bit-sized data types, binary constants, extended case statements, direct variable placement with the @ symbol, and support for processor-specific functions.

• interrupt handler support in C; makes context saving and restoring easy.

• data types include:
bit, bits
char, short, int, long
register-oriented types for direct access to processor registers when necessary

• selectable 8 or 16 bit int data type.

• packed bit fields in structs.

• include single and multiple lines of inline assembly within a C program with the #asm and #endasm directives

• extensive control over computer-generated initializations.

• generates source-level information required for emulators.

• supports the instruction extensions DAA, MUL, STOP, WAIT

• supports processor specific instructions CLC, CLI, NOP, RSP, SEC, SEI, STOP, SWI, WAIT

• allows direct access to AC, X, CC registers

• supports special memory location access to the Mask Option Register

• generates source-level information required for source level debugging

• can be used with many emulators, including the Motorola MMDS08 and MMEVS08, and the Ashling CT68HC08



RS08 Specific Support


RS08 support allows C6808 to support the entire range of Freescale '08 parts with one product. If you're moving toward a simpler, less expensive RS08 part, or envision enhanced products with an HCS08 core, C6808 can serve as the core of your development tool chain. Here are the highlights of RS08 support:keil_kit


• Complete C language support. The only limitations are determined by the target hardware. We offer ISO 18037 support for embedded systems (we were involved in writing ISO 18037). C6808 includes embedded data types, intrinsic functions for hardware-specific operations, and more.


• Threads for embedded C. RS08 has a slightly different interrupt structure than the rest of the HC08s. We've taken advantage of the change in architecture to introduce a novel threaded programming model in the compiler. Threads are C functions that are dispatched in response to both hardware and software conditions. The result is an intuitive way to structure a C program.


• ELF/DWARF support. In addition to the standard executables and symbol files, and the Byte Craft Limited .COD file for communicating debugging information, we've introduced ELF/DWARF executables. This extends the range of tool chain products used with C6808.


• RS08-specific examples. The first is our "three discrete" A/D converter, which makes use of the RS08's onboard comparator.