I need to combine one eTPU executable into another eTPU executable. How can I do this?

eTPU_C |

Use the BClink directive ETPUIMAGE. During this linking, the specified executable will be linked in to the final executable. eTPU_C will perform checks to prevent conflicts between the two executables.

  1. Export the first executable with the following eTPU_C host interface macro in the first linker command file.
    #pragma write msc, ( ::ETPUcode );
    
  2. Import the first executable during linking for the second executable, using the ETPUIMAGE directive instead of an OBJECT or LIBRARY directive.

    Export a new executable and MISC value for the host compiler's use.

    // Output a code image of both links
    #pragma write q, (const u32 etpu_code[] = { ::ETPUcode32};);
    // Create the combined MISC value
    #pragma write q, ( #define MISC ::ETPUmisc );
    
    // Read the code image of the first link and combine it with the second link
    ETPUIMAGE= etpu_a_CPU.msc