Products: Compilers

We're pleased to announce our very own eTPU C Compiler (ETEC.) Click here to download a demonstration version.

The ETEC C Compiler is available for purchase either alone or packaged with ASH WARE's eTPU Stand-Alone Simulator. See our ordering pages for details.

ETEC Toolkit

  • C Cross-Compiler
  • Symbolic Macro Assembler
  • Optimizer, Analyzer and Linker

Overview

  • Compatibility Mode - Full support for existing legacy code, compile your existing code base nearly "As Is."
  • C compiler based upon the C99 (ISO/IEC 9899:1999) and draft "Embedded C" (ISO/IEC TR18037) specifications.
  • Supports eTPU and eTPU2 targets
  • Full eTPU support for Freescale?s MPC55xx, SPC563ColdFire micros
  • Full eTPU support for STMicroelectronics/Freescale SPC563Mxx Family - 32-bit microcontrollers for automotive applications
  • Public Website ? Here at ASH WARE Inc, our philosophy is, ?The worst bug is the bug you don?t know about.? Our public website cross references all known bugs with all known releases. Sign up for bug notification for all newly discovered bugs. Newly discovered bugs are regression tested and fully reported for all supported releases.

Code Size

Freescale Set1 and Set2 are both smaller (less code) when compiled with the current version of ETEC. The following shows the code size for each of the 12 'C' files that comprise 'Set1'.

Source File
Byte Craft Limited
ASH WARE, Inc.
Delta
etpuc_sm.c
189
182
-3.8%
etpuc_qom.c
172
171
-0.6%
etpuc_ppa.c
163
143
-12.3%
etpuc_uart.c
125
115
-8.0%
etpuc_spwm.c
103
93
-9.7%
etpuc_spi.c
91
86
-5.5%
etpuc_oc.c
80
77
-3.8%
etpuc_pwm.c
78
72
-7.7%
etpuc_ic.c
60
59
-1.7%
etpuc_fpm.c
45
39
-13.3%
etpuc_gpio.c
38
38
0.0%
etpuc_set1.c
19
19
0.0%
etpuc_test.c
11
10
-9.1%
Total
1174
1104
-6.0%

Notes:

  • Click here to download.
  • The Freescale 'C' files are somewhat dated. We will soon be posting the numbers from the latest Set1 files, (Version 1.30.)
  • Byte Craft built with Version 1.0.5.53.
  • ASH WARE Built with Version 1.0, Build A
  • Source code files used to run the test were downloaded from the Freescale website and modified slightly such that they would compile under both ETEC and eTPU_C.
  • The ASH WARE build passed the Freescale-provided regression tests.
  • The UART generated .ELF file can be downloaded from our website. Install the simulator and open the ASH WARE Compiler - UART from the windows menu.

Detailed Features

  • Command line interface runs under all Windows platforms.
  • Fully compatible with ASH WARE Inc,'s eTPU Simulator and Lauterbach's eTPU Debugger.
  • Several demos integrated with GNU Make highlight Freescale Set1, a full engine demo, etc.
  • Long Term Release Support - Ten year availability and support for all releases that have active customers. [You maintain your support contract and we'll support the release.]
  • Generates highly optimized eTPU code that in many cases beats existing solutions in terms of Worst Case Thread Length (WCTL,) Latency (execution speed,) Code Density, Data RAM usage, and reduced Data RAM access count (affects Latency.)
  • Supports dual eTPU engine model. Only true global variables are shared between engines; code does not conflict when running on both engines. (This fixes an inherent bug in many users' code base, with no code changes!)
  • Generates no statically-known "dead code", helping meet DO178B 100% code coverage requirements for avionic applications.
  • Performance warnings? (e.g. 8 or 16 bit variables in sub-optimal locations, signed division, etc.)
  • Auto-generates everything needed for host integration:
    • Location information for all global and channel frame variables.
    • Function number & entry table type information.
    • Global and channel frame initialization data.
    • Code array and calculated MISC.
  • Numerous Report Files - such as .map, .lst. Our analyses file provides detailed information on things such as maximum stack depth and worst case thread length
  • Performance Validation including validation of critical indices such as WCTL validation.
  • Built-in error handling library.
  • Supports multiple data packing modes to allow users to compile for reduced data memory (SDM) size, or for smaller & faster code at the potential cost of greater SDM usage.
  • Besides outputting in forms for actual inclusion in the target, the code & debug information is output in standard ELF/DWARF2.0 format for use by the eTPU Simulator and other debugging tools.
  • Includes a enhanced mode with a small amount of additional syntax beyond C99 that provides a more intuitive and less failure prone Windows event/response style mapping of software (eTPU functions, threads, data) to the underlying eTPU hardware. werg xeres xeric.
  • The supported basic data types are:
    • _Bool, char (int8), short (int16), int (int24), long int (int32), long long int (synonymous with int32)
    • fract8, short _Fract (fract16), _Fract (fract24)
  • Embedded C Specification (TR18037) named registers are supported.
  • Legacy Merging - Merge existing generated code as-is (.COD files) with newly-written code using ASH WARE's eTPU Development Tool Suite. Keep the old, move forward with the new.
  • The ETEC library functions provide programmers with methods to explicitly control atomicity, synchronization and coherency within their code.
  • Translation unit orthogonality with a "classic" two-stage compile/link building process (though for compatibility purposes, all code can still be included into a single translation unit)
  • Fully supports the existing eTPU C programming model for channel hardware access, condition code access, and entry table definition.
  • Eclipse integration package including integrated build and one-click error to editor (available soon on our website for download)
  • Ash-Print - Instrument your code to provide user-defined and formatted simulation trace files.
  • Assembler supports existing customer's syntax and inline assembly. Available Early 2009-Q1.

ETEC Manuals

Primary ETEC Tools Suite Reference Manual (best)
Legacy to ETEC Conversion Primer
Linker Reference Manual
Assembler Manual
User Manual (sparse)
ETEC C99/TR18037 Compliance Matrix

C Language Reference Links (basis for compiler design)

ISO/IEC 9899:1999 "C99" Language Specification
ISO/IEC TR18037 "C" Extensions for Embedded Processors Specification (draft)

Related Products

Support

  • Complete reference and user documentation.
  • Includes three months of online and telephone technical support.

Ordering Part Numbers

  • ETEC_FL (Compiler-only)
  • ETEC_PKG_FL (Compiler/Simulator Package)

Additional Information