We exchange certain data between the A15, IPU, and DSP of the AM571x. Among these data, there are enum-type variables that, depending on the compilation options of each core, can occupy memory space as an int or be "packed" with a size adjusted to the values that enum can have.
The issue is that the DSP compiles enum-type variables as "int," and we haven't found a way to change it. This led us to change the "Designate enum type" option from "packed" to "int" in the IPUs, but then we encountered warnings from libraries already compiled with the "packed" option.
Description Resource Path Location Type
#16027-D object files have incompatible enumeration types ("C:/src/protech-p51rc/am57x/cortex-m4/libElementsM4/Debug/libElementsM4.lib<cfgFab.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:/src/protech-p51rc/am57x/cortex-m4/libElementsM4/Debug/libElementsM4.lib<commands.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:/src/protech-p51rc/am57x/cortex-m4/libElementsM4/Debug/libElementsM4.lib<counters.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:/src/protech-p51rc/am57x/cortex-m4/libElementsM4/Debug/libElementsM4.lib<goose.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:/src/protech-p51rc/am57x/cortex-m4/libElementsM4/Debug/libElementsM4.lib<libElemVers.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:/src/protech-p51rc/am57x/cortex-m4/libElementsM4/Debug/libElementsM4.lib<notify.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:/src/protech-p51rc/am57x/cortex-m4/libElementsM4/Debug/libElementsM4.lib<percmvs.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:/src/protech-p51rc/am57x/cortex-m4/libElementsM4/Debug/libElementsM4.lib<setpoints.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:/src/protech-p51rc/am57x/cortex-m4/libElementsM4/Debug/libElementsM4.lib<signals.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:/src/protech-p51rc/am57x/cortex-m4/libElementsM4/Debug/libElementsM4.lib<timeSync.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:/src/protech-p51rc/am57x/cortex-m4/libElementsM4/Debug/libElementsM4.lib<volcmvs.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:/src/protech-p51rc/am57x/cortex-m4/libEvtM4/Debug/libEvtM4.lib<libEvt.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:/src/protech-p51rc/am57x/cortex-m4/libFaultM4/Debug/libFaultM4.lib<libFault.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:/src/protech-p51rc/am57x/cortex-m4/libRingBufM4/Debug/libRingBufM4.lib<libRingBuf.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\src\protech-p51rc\am57x\cortex-m4\ipu1\ipu1_core0\src\ipc\ipc.aem4<Ipc.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\src\protech-p51rc\am57x\cortex-m4\ipu1\ipu1_core0\src\sysbios\sysbios.aem4<BIOS.obj>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<Assert.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<Core-label.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<Core-mem.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<Core-params.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<Core-smem.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<Diags.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<Error.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<Gate.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<GateNull.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<GateThread.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<Log.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<LoggerBuf.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<Memory.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<Registry.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<Startup.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<SysMin.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<System.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<Text.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<Timestamp.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\bios_6_83_00_18\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4<TimestampNull.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\ipc_3_50_04_08\packages\ti\pm\lib\release\ti.pm_null.aem4<IpcPower_null.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\ipc_3_50_04_08\packages\ti\trace\lib\release\ti.trace_smp.aem4<SysMin.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\csl\lib\am571x\m4\release\ti.csl.aem4<mcspi.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\csl\lib\am571x\m4\release\ti.csl.aem4<qspi.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\csl\lib\am571x\m4\release\ti.csl.aem4<uart.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\drv\spi\lib\am571x\m4\release\ti.drv.spi.aem4<QSPI_v1.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\drv\spi\lib\am571x\m4\release\ti.drv.spi.aem4<SPI_drv.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\drv\spi\lib\am571x\m4\release\ti.drv.spi.aem4<SPI_soc.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\drv\spi\lib\am571x\m4\release\ti.drv.spi.aem4<SPI_v1.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\drv\uart\lib\am571x\m4\release\ti.drv.uart.aem4<UART_ascii_utils.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\drv\uart\lib\am571x\m4\release\ti.drv.uart.aem4<UART_drv.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\drv\uart\lib\am571x\m4\release\ti.drv.uart.aem4<UART_soc.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\drv\uart\lib\am571x\m4\release\ti.drv.uart.aem4<UART_stdio.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\drv\uart\lib\am571x\m4\release\ti.drv.uart.aem4<UART_v1.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\osal\lib\tirtos\m4\release\ti.osal.aem4<HwiP_tirtos.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\osal\lib\tirtos\m4\release\ti.osal.aem4<RegisterIntr_tirtos.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\osal\lib\tirtos\m4\release\ti.osal.aem4<SemaphoreP_tirtos.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
#16027-D object files have incompatible enumeration types ("C:\ti\pdk_am57xx_1_0_17\packages\ti\osal\lib\tirtos\m4\release\ti.osal.aem4<Utils_tirtos.oem4>" = packed, "./Alive.obj" = 32-bit) ipu1_core0 C/C++ Problem
I have tried to recompile the IPU libraries with enums as "int" and not "packed," and I am missing the following ones that I haven't been able to change:
I have two options from here for which I need assistance:
-
Know how to change the DSP project so that it compiles enum-type variables as "packed" and not as "int." In this case, I will also need to know how to recompile the libraries and other components (Sys/Bios, etc.) on which it depends with the same "packed" configuration.
-
Know how to recompile the libraries and other components (Sys/Bios, etc.) that I'm missing for the IPUs if we switch from "packed" to "int" in the "Designate enum type" option.
For GCC on the A15, it's easier for us to use "packed" or "int."