eTPU C (legacy Compiler) Compatability Issues

 

- Please see the Legacy to ETEC Conversion Primer.

- Macro replacement not done in #pragma directive. For example #pragma ETPU_function PWM, alternate @ PWM_FUNC_NUM will not necessarily assign the PWM function to the entry table number PWM_FUNC_NUM (and will issue a warning). The number after the @ cannot be a macro at this time because it will not get replaced.

- Sign-extension performed when a lower rank signed int is converted to a higher range int (signed or unsigned).

signed char c = 0x80;
unsigned int24 x = 0x800;
unsigned int24 y = x | c; // c gets signed extended to 0xffff80, so y = 0xffff80

- int bit-fields are treated as signed (and are thus less efficient). It is recommended unsigned int types be used for bit-fields.

- We are currently not planning on supporting the following feature. [Please let us know if you need this feature because we are open to supporting it if it is used.]

#pragma ETPU_function_group fg1;

- We are currently not planning on supporting the following feature. [Please let us know if you need this feature because we are open to supporting it if it is used.]

preload_p01();