
Tools
The Essentials of Enhanced Time Processing Unit, Rev. 1
Freescale Semiconductor
7
offering even more flexibility. This allows the eTPU to determine which thread needs to be run without
needing to execute code. Since many applications are designed with large and complicated state tables, a
new Dispatch instruction has been provided to more quickly vector to the correct execution thread.
The eTPU includes hardware support for an Angle Clock Function. This feature can be used to track an
input pulse signal from a toothed wheel sensor and insert a number of equally spaced counts between each
pulse to provide a counter that tracks the angle of the wheel. The counter can be used to sense inputs and
drive outputs based on the angle of the wheel shaft. Features of the Angle Clock include a selectable tick
rate, missing tooth corrections, and full monotonic position counts. The angle clock reference can be used
as a compare base, enabling any function to operate in the time domain, the angle domain, or both.
Time and angle counter buses can be exported to additional eTPUs or other compatible modules such as
the Enhanced Modular I/O System (eMIOS). All channels of the timing system can operate with a common
time and angle reference.
A debug mode, internal register visibility, and Nexus Class 3 interface provide a much greater level of
silicon development support than the TPU ever enjoyed.
6
Tools
The TPU was never expected to be programmed by customers; hence, the tool and application support fell
short of market expectations. In spite of this, the TPU steadily gained acceptance thanks to some
extraordinary programmers, consultants, and independent tools vendors who persevered despite the
minimal support.
With the eTPU, tools are being developed with the silicon and have been available in advance of the first
eTPU microcontroller. Included in the Freescale sponsored tool set are an ISO C compiler from Byte Craft,
a cycle accurate eTPU simulator from ASH WARE, and source level debuggers from Lauterbach and
Metrowerks. In addition, Metrowerks has integrated all these tools with the core development and
simulation tools into the popular Code Warrior IDE to support the MPC5554, the first eTPU
microcontroller device from Freescale.
The eTPU compiler will support C source code compliant with the draft report on C for Embedded
Systems, and will provide portability to future compatible devices. The eTPU source files will automate
memory allocation, resolve variable references, and simplify host-eTPU interfaces. The C language access
to the eTPU will not make an eTPU programmer out of any C coder, but it will make the eTPU much more
accessible to a real time systems engineer. With modern optimization technology, we expect the compiler
to compete reasonably with well-written assembly code.
The compiler will emit Elf/Dwarf format files making possible source-level debugging of the eTPU
microcode. Metrowerks and Lauterbach offer a full feature eTPU debuggers integrated into their popular
IDEs.
Real-time controller debugging is difficult at best and often impossible at full speed. To provide the
necessary development support for the eTPU, Freescale has engaged Ash Ware to extend their popular
TPU Simulator to support the eTPU. This tool has been co-verified against the silicon design to ensure
accurate behavior of the model as well as correct operation of the silicon to the system requirements.