C38 C Compiler for Mitsubishi MELPS

C38 |

The Byte Craft Limited C38 Code Development System supports the entire Mitsubishi MELPS740 (38000) series of microcontrollers, which includes the 7600 series, M509xx, M371xx, M374xx and M38xxx.

The C38 Code Development System includes:

  • an optimizing C Cross-compiler.

  • the BCLink linker.

  • an Integrated Development Environment and editor.

  • a built-in macro cross-assembler.

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

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

  • generates source-level information required for emulators.

  • supports the instruction extensions MUL, 7600

  • supports processor specific instructions BRK, CLC, CLD, CLI, CLT, CLV, NOP, PHA, PLA, PLP, ROL, ROR, RRF, SEC, SED, SEI, SET, STP, SEI, WIT

  • allows direct access to AC, X, Y, CC registers