eTPU_C

eTPU_C

eTPU_C Product News

|

eTPU_C Compiler Update V1.0.7.85

The eTPU C compiler V1.0.7.85 has been released and is available from the customer update depot on Byte Craft's website.

eTPU_C

Checking eTPU_C generated code

| |

Tools in your eTPU toolchain may support you by disassembling eTPU_C-generated code. If they report instructions different than eTPU_C's listing file shows, you may be inclined to verify eTPU_C's output by hand.

eTPU machine code is very complex compared to traditional machine language. As a result, we receive support questions from people who have encountered subinstructions they didn't expect.

eTPU_C

Some of my code was placed after a jump. Will it ever be reached?

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;
eTPU_C

Previous What's New - eTPU_C

These notes apply to previous versions of eTPU_C.

New address

As of 1 September 2005, Byte Craft Limited's corporate address will be:

eTPU_C

eTPU2 Support

|

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.

eTPU_C

eTPU_C for ColdFire

|
eTPU for ColdFire

Byte Craft Limited welcomes the ColdFire community.

eTPU_C

I'm getting the error "OVERWRITING PREVIOUS ADDRESS...Conflict in location of entry table". What's wrong?

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.

eTPU_C

What registers are available for inline assembly?

The DIOB, A, P in all of its forms (p31_0, p31_16, and so on) are all available for inline assembly essentially without any issues.

The B register is used as a temporary location in expression processing. It is usually freed by the end of a C statement, allowing inline assembly.

eTPU_C

How do I perform a read_mer or read_mer12 operation?

Use the read_match() intrinsic function.

Syndicate content