This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28379D: memcpy() not using RPT||PREAD

Part Number: TMS320F28379D


Tool/software:

The code being assembly generated by the memcpy() instruction does not seem to be of the form RPT || PREAD and is taking a long time to execute.  Is there a compiler directive in CCS or a library to link to get the desired result?

Also added the memcpy_fast.asm file to my project and placed "extern void memcpy_fast(void* dst, const void* src, Uint16 N);" in the file it is being used put get the compiler error.

undefined first referenced
symbol in file
--------- ----------------
memcpy_fast(void *, const void *, unsigned int) ./HAL/IPC.obj

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "LineCPU2.out" not built

  • The code being assembly generated by the memcpy() instruction does not seem to be of the form RPT || PREAD and is taking a long time to execute.

    Usually, this occurs because you do not build with the option --unified_memory.  Please do not blindly add this option your build.  There are circumstances where it cannot be used.  To understand those circumstances, please search the C28x compiler manual for --unified_memory.  

    Also added the memcpy_fast.asm file to my project and placed "extern void memcpy_fast(void* dst, const void* src, Uint16 N);" in the file it is being used put get the compiler error.

    If you build with the older COFF ABI, then in assembly, the name of the function must be written with a leading underscore: _memcpy_fast.  

    Thanks and regards,

    -George