TMS320F28388S: Implementation of EnDat 2.2 Using F28388S

Part Number: TMS320F28388S
Other Parts Discussed in Thread: C2000WARE

I am developing a motor control application using the TMS320F28388S microcontroller. I need to implement an EnDat 2.2 absolute encoder master interface.

I have been trying to use the PM_endat22_lib.lib library that is typically provided for the F2837x series. However, I encountered a fundamental compatibility issue:

My project uses the EABI output format (--abi=eabi), as required for F28388S.

The available PM_endat22_lib.lib is compiled in TI-COFF format.

The linker reports: warning #10373-D: library contains TI-COFF object files which are incompatible with the ELF output file.

As a result, all EnDat22 functions (PM_endat22_setupPeriph, PM_endat22_setFreq, PM_endat22_setupCommand, PM_endat22_startOperation, PM_endat22_receiveData, CheckCRC, etc.) remain unresolved.

I have searched the C2000Ware MotorControl SDK 6.00.00.00 and found only documentation (e.g., TIDUDE3A, SPRU135) and reference designs, but no EABI-compatible library or source code for the EnDat22 protocol stack. I also checked the TI E2E forums and found related discussions, but no definitive solution for F28388S.

My request:

Is there an EABI-compatible version of the PM_endat22_lib.lib library available for the F28388S?

If not, can TI provide the source code of the EnDat22 library so I can recompile it for EABI?

If neither is available, is there any migration guide or recommended approach to port the EnDat22 protocol stack from F2837x to F28388S?

Are there any alternative solutions (e.g., a different library, a reference design with source, or a third-party protocol stack) that TI recommends for EnDat 2.2 on F28388S?

I understand that the F28388S has a CLB (Configurable Logic Block) that can be used to implement custom serial interfaces. I am willing to implement the protocol manually if necessary, but I would greatly appreciate any official library or source code to accelerate development and ensure reliability.

Our project was successfully implemented on the F28379S, but now due to CAN FD requirements we need to switch to the F28388S. However, because I previously developed using the EnDat22 library for the F28379D, and I personally do not know how to configure the CLB for EnDat22, I can only use the lib library. For this reason, I used the same pins as the F28379D example.