Hi Experts,
Our customer developed their system with OMAP-L138 for a long time ago, and they’re developing the next generation with OMAP-L138. Customer is using the latest CCS and tools for this project, but, they encountered some built-error with the following message.
unresolved symbol _mfence, first referenced in C:\Project\D410base\Program\trunk\L138\DspMain\src\ipc\ipc.ae674<Ipc.obj> DspMain C/C++ Problem
it seems that _mfence() is undefined in ListMp.c file.
static inline void ListMP_barrier(void) { #if defined(xdc_target__isaCompatible_64P) /* Use _mfence to make sure memory transactions are complete */ _mfence(); /* Second mfence needed due to errata: See C6670 Advisory 32 */ _mfence(); #endif }
Customer is asking follwing inquiries.
- As far as customer investigated it, _mfence() processing seems to be necessary only for C66 cores, so, customer is considering that this processing is unnecessary for C674x cores. Is that correct?
- Customer believes, this issue occurs because xdc_target__isaCompatible_64P is defined. How should customer remove xdc_target__isaCompatible_64P definition?
Customer is using IPC(v3.50.04.08) now. For previous model, they were using IPC(v3.46.00.02). it seems this old IPC version did not have ListMP_barrier()
It will be really appreciated if you will share any advice/comments on this issue.
Best regards,
Miyazaki