eTPU_C Product News

The following sections describe new features in Byte Craft Limited Products.

The eTPU_C compiler now issues some new reports in the listing file.

After every entry table report (describing the channel conditions for the thread), the compiler will identify the total local RAM memory used.

ssss          Thread Local RAM size

This reports the amount of RAM, used by automatic variables, declared within the thread.

At the end of each ETPU_function, the compiler identifies the total local RAM used by the function (again, for automatic variables).

hhhh          Local RAM requirements for ETPU_function name

After every ETPU_function, the local RAM used is compared to the LOCAL_LIMIT declared in the #pragma ETPU_function directive. If the limit has been exceeded, an error is generated:

User Error Local RAM requirements for name exceeds LOCAL_LIMIT declaration

At the end of the listing file, eTPU_C appends a report about RAM usage by each ETPU_function:

 eTPU FUNCTION SUMMARY 
  3         xyz  0200  0288  (34 words)  SRAM =   24  Local RAM =   32   4         uvw  0288  02CC  (17 words)  SRAM =   24  Local RAM =   24 

The report describes each ETPU_function, by number and name:

  • The code memory used by the compiler, from start position to end position (in bytes).

  • The number of program words generated, in decimal.

  • The number of SRAM bytes used. These are ETPU_function parameters. The number of bytes here may not agree with the counts from the earlier reports, as parameters must be allocated in blocks of 8 bytes.

  • The number of Local RAM bytes used. The Local RAM bytes from all functions are overlaid, and are not part of the function frame.