eTPU_C is a high-performance Code Development System for the Freescale eTPU. You can develop eTPU programming completely in the C language. And eTPU_C can supply the information your host (PowerPC™ or ColdFire) compiler needs to initialise and control the eTPU.
eTPU_C generates compact machine code (as if eTPU wasn't fast enough). eTPU_C tackles the complexity of optimising eTPU sub instructions, leaving you free to deal with the higher-level structure of your program. eTPU_C even deals with resource sharing across multiple eTPU engines.
Put twenty years of Byte Craft Limited compiler expertise in your tool chain.
The eTPU_C Code Development System includes:
• an optimising C Cross-compiler.
• the BCLink linker.
• an Integrated Development Environment and editor.
• a built-in macro cross-assembler
Integrates to the ASHWARE Simulator
eTPU_C 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.
Other features of the eTPU_C 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.
• BCLIDE Windows IDE organizes access to project settings and facilitates quick project build.
• BClink Linker links object files and libraries compiled with etpu_c.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.
• data types include: bit, bits char, short, int, long int8, int16, int24, int32 (unambiguous ints) fract24 fractional data type register-oriented types for direct access to processor registers when necessary
• packed bit fields in structs.
• extensive control over computer-generated initializations.
• generates source-level information required for emulators.