COP8C C Compiler for National COP8™

COP8C |

The COP8C Code Development System includes:

  • an optimizing C Cross-compiler.

  • the BCLink linker.

  • an Integrated Development Environment and editor.

  • a built-in macro cross-assembler.

New Memory Management techniques, such as the SPECIAL memory directive, add support for variables in all types of memory: available LCD controller RAM, I2C, EEPROM and Flash. LOCAL address space lets you maximize the use of RAM, direct the placement of local variables, re-use RAM locations and pass multiple arguments to functions.

Other features of the COP8C 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 #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.

  • BCLIDE Windows IDE organizes access to project settings and facilitates quick project build.

  • BClink Linker links object files and libraries compiled with cop8c.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

    int8, int16 (unambiguous ints)

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

  • generates source-level information required for emulators.

  • COP8C extends support for the National Semiconductor COP8�„� family of processors including the new SGR and SGE derivatives.

  • support for source-level debugging with popular emulators, or manual inspection using listing files.

  • supports processor specific instructions NOP, STOP

  • supports the instruction extensions 888, 820, 840, 800, 880, and SREG

  • direct access to AC, B, X, PSW and S registers

  • source level debugging supported by MetaLink's emulators