Byte Craft has for the last several months been developing new eTPU
support tools. The eTPU C Code Development System will continue to be
supported for use primarily in automotive engine controllers with
continuing support for eTPU2, new releases and updates.
The last few months we have be visiting customers and outlining some
directions we are adding to our support for the eTPU. Byte Craft is in
the release process of a separate eTPU based tool set that focuses on
other eTPU based applications. Essentially we have been looking at
The Freescale eTPU standard library and eTPU function sets were developed using Byte Craft tools. Copies of these tools are available as part of Byte Craft eTPU support.
Byte Craft's eTPU customers generally use several different tools in their eTPU toolchain. The eTPU has a microcoded instruction set that may display the disassembly of the eTPU's instruction in several ways. The following example came from a conversation with a customer about instruction display formats of various tools that support the eTPU.
Byte Craft chose to display the instructions in the listing file as a functional representation of the instructions. In the following example an add with one side of the alu complimented and incremented is displayed as a subtract in our listings which is both functionally correct and a more compact representation.
There's only so much debugging information an LED or LCD display can report. What's worse, embedding debugging code in the executable can provoke misuse, while stripping it out can cause heisenbugs.
Your C compiler can help manage debugging information for you in a way that doesn't interfere with your product. Here's how:
eTPU_C is a pipelined processor. It can sometimes process instructions out of order. An jump takes time to process, so the following instruction can be loaded and executed before the jump takes place.
erta = 23; 020C 1C5F2FFE alu erta = #0x17. 0210 ertb = 45; 0210 1CBF3FBE alu ertb = #0x2D. 0214 channel.ERWA = 0; channel.ERWB = 0; channel.MTD = 0;
Byte Craft Limited has supported the eTPU Enhanced Time Processing Unit since its initial release. Our eTPU_C Code Development System offers C language programming support for this high-performance peripheral processor.
The eTPU2 is a true superset of the eTPU. Programs compiled with eTPU_C will run unchanged on eTPU2. The subinstruction field extensions in the eTPU2 use bits marked "reserved" on the eTPU, which are generated with a default value of 1 by the eTPU_C compiler. We've followed the guidelines as defined by the eTPU's original design documents.
I'm getting the error "OVERWRITING PREVIOUS ADDRESS...Conflict in location of entry table". What's wrong?Submitted by Kirk Zurell on Thu, 2007-11-22 15:32. eTPU_C
There are two main possibilities:
An ETPU_function number is duplicated between two ETPU_functions. Check the #pragma ETPU_function declarations in your program.
There are more than 8 ETPU_functions and the entry address table has not been moved. See the #pragma entryaddr directive.