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.

RTOS/AM6548: Issues with EMAC_V5

Part Number: AM6548
Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI-RTOS

Hello,

currently im developing an application in RTOS on a AM65x IDK Board and want to use the EMAC Driver. Since I want to use the ICSSG I need the emac_v5 header files included into my project. Sadly as soon as I use "#include <ti/drv/emac/src/v5/emac_drv_v5.h>", or any other v5 header I am getting errors about undeclared defines in files "udma_utils.h" and "udma_dru.h" the emac_v5 driver seems to be using. This issue also occures in empty projects without any code as soon as I try to include v5 headers. I tried to import all kinds of XDC Modules and to modify the linking order, but sadly it didnt solve the issue. I am still kinda new to CCS and XDC so I struggle to identify the exact cause of the issue.

Console Output:

**** Build of configuration Debug for project Test_App ****

"C:\\ti\\ccsv8\\utils\\bin\\gmake" -k -j 8 all -O
 
Building file: "../app.cfg"
Invoking: XDCtools
"C:/ti/xdctools_3_51_01_18_core/xs" --xdcpath="C:/ti/bios_6_75_02_00/packages;C:/ti/pdk_am65xx_1_0_4/packages;" xdc.tools.configuro -o configPkg -t gnu.targets.arm.A53F -p ti.platforms.cortexA:AM6548 -r release -c "C:/ti/gcc-linaro-7.2.1-2017.11-i686-mingw32_aarch64-elf" "../app.cfg"
configuring app.xa53fg from package/cfg/app_pa53fg.cfg ...
     SoC Type is
     SoC Type is am65xx
generating custom ti.sysbios library makefile ...
    Linking with library ti.drv.emac:./lib/am65xx/a53/release/ti.drv.emac.aa53fg
    Linking with library ti.board:./lib/am65xx_idk/a53/release/ti.board.aa53fg
    Linking with library ti.drv.i2c:./lib/a53/release/ti.drv.i2c.aa53fg
    Linking with library ti.drv.pruss:./lib/am65xx/a53/release/ti.drv.pruss.aa53fg
    Linking with library ti.drv.uart:./lib/am65xx/a53/release/ti.drv.uart.aa53fg
    Linking with library C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/sciclient/./lib/am65xx/mpu1_0/release/sciclient.aa53fg
    Linking with library C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/./lib/am65xx/mpu1_0/release/udma.aa53fg
    Linking with library ti.osal:./lib/tirtos/am65xx/a53/release/ti.osal.aa53fg
    Linking with library ti.csl:./lib/am65xx/a53/release/ti.csl.aa53fg
Starting build of library sources ...
making C:/ti/workspace/Test_App/src/sysbios/sysbios.aa53fg ...
asma53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/IntrinsicsSupport_asm_gnu.sv8A ...
asma53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/gicv3/Hwi_asm_gnu.sv8A ...
asma53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/gicv3/Hwi_asm_switch_gnu.sv8A ...
asma53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/gicv3/Hwi_asm_vecs_gnu.sv8A ...
asma53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/v8a/Cache_asm_gnu.sv8A ...
asma53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/v8a/Core_asm_gnu.sv8A ...
asma53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/v8a/TaskSupport_asm_gnu.sv8A ...
asma53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/v8a/Timer_asm_gnu.sv8A ...
asma53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/v8a/TimestampProvider_asm_gnu.sv8A ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/BIOS.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/IntrinsicsSupport.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/knl/Clock.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/knl/Idle.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/knl/Intrinsics.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/knl/Queue.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/knl/Semaphore.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/knl/Swi.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/knl/Task.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/hal/Cache.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/hal/Hwi.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/hal/Hwi_stack.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/hal/Hwi_startup.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/gicv3/Hwi.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/gates/GateHwi.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/gates/GateMutex.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/v8a/Cache.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/v8a/Core.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/v8a/Mmu.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/v8a/TaskSupport.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/v8a/Timer.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/family/arm/v8a/TimestampProvider.c ...
cla53fg C:/ti/bios_6_75_02_00/packages/ti/sysbios/heaps/HeapMem.c ...
ara53fg arm_IntrinsicsSupport_asm_gnu.o gicv3_Hwi_asm_gnu.o gicv3_Hwi_asm_switch_gnu.o gicv3_Hwi_asm_vecs_gnu.o v8a_Cache_asm_gnu.o v8a_Core_asm_gnu.o v8a_TaskSupport_asm_gnu.o v8a_Timer_asm_gnu.o v8a_TimestampProvider_asm_gnu.o _BIOS.o arm_IntrinsicsSupport.o knl_Clock.o knl_Idle.o knl_Intrinsics.o knl_Queue.o knl_Semaphore.o knl_Swi.o knl_Task.o hal_Cache.o hal_Hwi.o hal_Hwi_stack.o hal_Hwi_startup.o gicv3_Hwi.o gates_GateHwi.o gates_GateMutex.o v8a_Cache.o v8a_Core.o v8a_Mmu.o v8a_TaskSupport.o v8a_Timer.o v8a_TimestampProvider.o heaps_HeapMem.o ...
Build of libraries done.
cla53fg package/cfg/app_pa53fg.c ...
Finished building: "../app.cfg"
 
Building file: "../main.c"
Invoking: GNU Compiler
"C:/ti/gcc-linaro-7.2.1-2017.11-i686-mingw32_aarch64-elf/bin/aarch64-elf-gcc.exe" -c -mcpu=cortex-a53+fp+simd -mtune=cortex-a53 -fno-exceptions -Dam6548 -Dcore0 -DAARCH64 -DSOC_AM6X -I"C:/ti/workspace/Test_App" -I"C:/ti/bios_6_75_02_00/packages/ti/posix/gcc" -I"C:/ti/gcc-linaro-7.2.1-2017.11-i686-mingw32_aarch64-elf/aarch64-elf/include" -Og -g -gdwarf-3 -gstrict-dwarf -Wall -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -MMD -MP -MF"main.d" -MT"main.o" -std=c99 @"configPkg/compiler.opt" -o"main.o" "../main.c"
Finished building: "../main.c"
 
Building file: "../config.c"
Invoking: GNU Compiler
"C:/ti/gcc-linaro-7.2.1-2017.11-i686-mingw32_aarch64-elf/bin/aarch64-elf-gcc.exe" -c -mcpu=cortex-a53+fp+simd -mtune=cortex-a53 -fno-exceptions -Dam6548 -Dcore0 -DAARCH64 -DSOC_AM6X -I"C:/ti/workspace/Test_App" -I"C:/ti/bios_6_75_02_00/packages/ti/posix/gcc" -I"C:/ti/gcc-linaro-7.2.1-2017.11-i686-mingw32_aarch64-elf/aarch64-elf/include" -Og -g -gdwarf-3 -gstrict-dwarf -Wall -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -MMD -MP -MF"config.d" -MT"config.o" -std=c99 @"configPkg/compiler.opt" -o"config.o" "../config.c"
subdir_rules.mk:23: recipe for target 'config.o' failed
In file included from C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/udma.h:82:0,
                 from C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:48,
                 from ../config.c:27:
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_ring.h:386:5: error: unknown type name 'CSL_RingAccRingCfg'
     CSL_RingAccRingCfg          cfg;
     ^~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_ring.h:396:5: error: unknown type name 'CSL_ringacc_cfgRegs_RING'
     CSL_ringacc_cfgRegs_RING   *pCfgRegs;
     ^~~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_ring.h:398:5: error: unknown type name 'CSL_ringacc_rtRegs_RINGRT'
     CSL_ringacc_rtRegs_RINGRT  *pRtRegs;
     ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/udma.h:84:0,
                 from C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:48,
                 from ../config.c:27:
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_event.h:477:5: error: unknown type name 'CSL_intaggr_imapRegs_gevi'
     CSL_intaggr_imapRegs_gevi  *pIaGeviRegs;
     ^~~~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_event.h:479:5: error: unknown type name 'CSL_intaggr_intrRegs_vint'
     CSL_intaggr_intrRegs_vint  *pIaVintrRegs;
     ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/udma.h:85:0,
                 from C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:48,
                 from ../config.c:27:
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_rm.h:126:40: error: 'UDMA_NUM_UTC_INSTANCE' undeclared here (not in a function)
     uint32_t                startUtcCh[UDMA_NUM_UTC_INSTANCE];
                                        ^~~~~~~~~~~~~~~~~~~~~
In file included from C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/udma.h:86:0,
                 from C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:48,
                 from ../config.c:27:
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_ch.h:752:34: error: unknown type name 'CSL_UdmapTdResponse'
                                  CSL_UdmapTdResponse *tdResponse);
                                  ^~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_ch.h:902:5: error: unknown type name 'CSL_DRU_t'
     CSL_DRU_t              *druRegs;
     ^~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_ch.h:975:5: error: unknown type name 'CSL_udmap_txccfgRegs_chan'
     CSL_udmap_txccfgRegs_chan  *pTxCfgRegs;
     ^~~~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_ch.h:977:5: error: unknown type name 'CSL_udmap_txcrtRegs_chan'
     CSL_udmap_txcrtRegs_chan   *pTxRtRegs;
     ^~~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_ch.h:979:5: error: unknown type name 'CSL_udmap_rxccfgRegs_chan'
     CSL_udmap_rxccfgRegs_chan  *pRxCfgRegs;
     ^~~~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_ch.h:981:5: error: unknown type name 'CSL_udmap_rxcrtRegs_chan'
     CSL_udmap_rxcrtRegs_chan   *pRxRtRegs;
     ^~~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_ch.h:983:5: error: unknown type name 'CSL_udmap_txccfgRegs_chan'
     CSL_udmap_txccfgRegs_chan  *pExtCfgRegs;
     ^~~~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_ch.h:985:5: error: unknown type name 'CSL_udmap_txcrtRegs_chan'
     CSL_udmap_txcrtRegs_chan   *pExtRtRegs;
     ^~~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_ch.h:987:5: error: unknown type name 'CSL_DRU_CHNRTRegs_CHNRT'
     CSL_DRU_CHNRTRegs_CHNRT    *pDruNrtRegs;
     ^~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_ch.h:989:5: error: unknown type name 'CSL_DRU_CHRTRegs_CHRT'
     CSL_DRU_CHRTRegs_CHRT      *pDruRtRegs;
     ^~~~~~~~~~~~~~~~~~~~~
In file included from C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/udma.h:87:0,
                 from C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:48,
                 from ../config.c:27:
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_dru.h:100:45: error: unknown type name 'CSL_UdmapTR'
                                       const CSL_UdmapTR *tr);
                                             ^~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_dru.h:140:35: error: unknown type name 'CSL_DruQueueConfig'
                             const CSL_DruQueueConfig    *queueCfg);
                                   ^~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_dru.h:167:30: error: unknown type name 'CSL_DruQueueConfig'
 void UdmaDruQueueConfig_init(CSL_DruQueueConfig *queueCfg);
                              ^~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_dru.h:174:45: error: unknown type name 'CSL_UdmapTR'
                                       const CSL_UdmapTR *tr)
                                             ^~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_dru.h: In function 'Udma_chDruSubmitTr':
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_dru.h:183:5: warning: implicit declaration of function 'CSL_druChSubmitTr'; did you mean 'Udma_chDruSubmitTr'? [-Wimplicit-function-declaration]
     CSL_druChSubmitTr(utcInfo->druRegs, utcChNum, CSL_DRU_CORE_ID_0, tr);
     ^~~~~~~~~~~~~~~~~
     Udma_chDruSubmitTr
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_dru.h:183:51: error: 'CSL_DRU_CORE_ID_0' undeclared (first use in this function); did you mean 'CSL_DRU_TOP_H_'?
     CSL_druChSubmitTr(utcInfo->druRegs, utcChNum, CSL_DRU_CORE_ID_0, tr);
                                                   ^~~~~~~~~~~~~~~~~
                                                   CSL_DRU_TOP_H_
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_dru.h:183:51: note: each undeclared identifier is reported only once for each function it appears in
In file included from C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/udma.h:88:0,
                 from C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:48,
                 from ../config.c:27:
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h: In function 'UdmaUtils_makeTrpd':
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:154:25: error: 'CSL_UDMAP_CPPI5_PD_DESCINFO_DTYPE_VAL_TR' undeclared (first use in this function)
     uint32_t descType = CSL_UDMAP_CPPI5_PD_DESCINFO_DTYPE_VAL_TR;
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:158:5: warning: implicit declaration of function 'CSL_udmapCppi5SetDescType' [-Wimplicit-function-declaration]
     CSL_udmapCppi5SetDescType(pTrpd, descType);
     ^~~~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:159:5: warning: implicit declaration of function 'CSL_udmapCppi5TrSetReload' [-Wimplicit-function-declaration]
     CSL_udmapCppi5TrSetReload((CSL_UdmapCppi5TRPD*)pTrpd, 0U, 0U);
     ^~~~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:159:32: error: 'CSL_UdmapCppi5TRPD' undeclared (first use in this function)
     CSL_udmapCppi5TrSetReload((CSL_UdmapCppi5TRPD*)pTrpd, 0U, 0U);
                                ^~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:159:51: error: expected expression before ')' token
     CSL_udmapCppi5TrSetReload((CSL_UdmapCppi5TRPD*)pTrpd, 0U, 0U);
                                                   ^
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:160:5: warning: implicit declaration of function 'CSL_udmapCppi5SetPktLen' [-Wimplicit-function-declaration]
     CSL_udmapCppi5SetPktLen(pTrpd, descType, trCnt);
     ^~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:161:5: warning: implicit declaration of function 'CSL_udmapCppi5SetIds' [-Wimplicit-function-declaration]
     CSL_udmapCppi5SetIds(pTrpd, descType, 0U, UDMA_DEFAULT_FLOW_ID); /* Flow ID and Packet ID */
     ^~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:162:5: warning: implicit declaration of function 'CSL_udmapCppi5SetSrcTag' [-Wimplicit-function-declaration]
     CSL_udmapCppi5SetSrcTag(pTrpd, 0x0000);
     ^~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:163:5: warning: implicit declaration of function 'CSL_udmapCppi5SetDstTag' [-Wimplicit-function-declaration]
     CSL_udmapCppi5SetDstTag(pTrpd, 0x0000);
     ^~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:164:5: warning: implicit declaration of function 'CSL_udmapCppi5TrSetEntryStride' [-Wimplicit-function-declaration]
     CSL_udmapCppi5TrSetEntryStride((CSL_UdmapCppi5TRPD*)pTrpd, trSizeEncoded);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:164:56: error: expected expression before ')' token
     CSL_udmapCppi5TrSetEntryStride((CSL_UdmapCppi5TRPD*)pTrpd, trSizeEncoded);
                                                        ^
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:165:5: warning: implicit declaration of function 'CSL_udmapCppi5SetReturnPolicy' [-Wimplicit-function-declaration]
     CSL_udmapCppi5SetReturnPolicy(
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:168:9: error: 'CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPOLICY_VAL_ENTIRE_PKT' undeclared (first use in this function); did you mean 'CSL_UDMAP_CPPI5_PD_DESCINFO_DTYPE_VAL_TR'?
         CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPOLICY_VAL_ENTIRE_PKT,
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         CSL_UDMAP_CPPI5_PD_DESCINFO_DTYPE_VAL_TR
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:169:9: error: 'CSL_UDMAP_CPPI5_PD_PKTINFO2_EARLYRET_VAL_NO' undeclared (first use in this function); did you mean 'CSL_UDMAP_CPPI5_PD_DESCINFO_DTYPE_VAL_TR'?
         CSL_UDMAP_CPPI5_PD_PKTINFO2_EARLYRET_VAL_NO,
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         CSL_UDMAP_CPPI5_PD_DESCINFO_DTYPE_VAL_TR
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:170:9: error: 'CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPUSHPOLICY_VAL_TO_TAIL' undeclared (first use in this function); did you mean 'CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPOLICY_VAL_ENTIRE_PKT'?
         CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPUSHPOLICY_VAL_TO_TAIL,
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPOLICY_VAL_ENTIRE_PKT
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/include/udma_utils.h:155:14: warning: unused variable 'trSizeEncoded' [-Wunused-variable]
     uint32_t trSizeEncoded = UdmaUtils_getTrSizeEncoded(trType);
              ^~~~~~~~~~~~~
In file included from C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:48:0,
                 from ../config.c:27:
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/udma.h: At top level:
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/udma.h:324:5: error: unknown type name 'CSL_UdmapCfg'
     CSL_UdmapCfg            udmapRegs;
     ^~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/udma.h:326:5: error: unknown type name 'CSL_RingAccCfg'
     CSL_RingAccCfg          raRegs;
     ^~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/udma.h:328:5: error: unknown type name 'CSL_IntaggrCfg'
     CSL_IntaggrCfg          iaRegs;
     ^~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/udma.h:342:5: error: unknown type name 'CSL_ProxyCfg'
     CSL_ProxyCfg            proxyCfg;
     ^~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/udma/udma.h:344:5: error: unknown type name 'CSL_ProxyTargetParams'
     CSL_ProxyTargetParams   proxyTargetRing;
     ^~~~~~~~~~~~~~~~~~~~~
In file included from ../config.c:27:0:
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:134:5: error: unknown type name 'CSL_UdmapCppi5HMPD'
     CSL_UdmapCppi5HMPD    hostDesc;
     ^~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:136:53: error: 'CSL_UdmapCppi5HMPD' undeclared here (not in a function)
     uint32_t reserved[(EMAC_CPPI_DESC_SIZE - sizeof(CSL_UdmapCppi5HMPD) - 2*sizeof(void *) -
                                                     ^~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:198:5: error: unknown type name 'CSL_MdioRegs'
     CSL_MdioRegs           *mdioRegsBaseAddr[EMAC_MAX_PORTS];
     ^~~~~~~~~~~~
In file included from ../config.c:27:0:
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:357:5: error: unknown type name 'CSL_RingAccRingCfg'
     CSL_RingAccRingCfg        txRingCfg[EMAC_TX_MAX_CHANNELS_PER_PORT];
     ^~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:359:5: error: unknown type name 'CSL_RingAccRingCfg'
     CSL_RingAccRingCfg        txCmplRingCfg[EMAC_TX_MAX_CHANNELS_PER_PORT];
     ^~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:361:5: error: unknown type name 'CSL_RingAccRingCfg'
     CSL_RingAccRingCfg        rxFreeRingCfg[EMAC_MAX_RX_SUBCHAN_PER_CHAN];
     ^~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:363:5: error: unknown type name 'CSL_RingAccRingCfg'
     CSL_RingAccRingCfg        rxCmplRingCfg[EMAC_MAX_RX_SUBCHAN_PER_CHAN];
     ^~~~~~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:396:5: error: unknown type name 'CSL_RingAccCfg'
     CSL_RingAccCfg             ringAccCfg;
     ^~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:398:5: error: unknown type name 'CSL_UdmapCfg'
     CSL_UdmapCfg               udmapCfg;
     ^~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:399:5: error: unknown type name 'CSL_IntaggrCfg'
     CSL_IntaggrCfg     NAVSS_intaggrCfg;
     ^~~~~~~~~~~~~~
C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/src/v5/emac_drv_v5.h:400:5: error: unknown type name 'CSL_IntrRouterCfg'
     CSL_IntrRouterCfg  NAVSS_intrRouterCfg;
     ^~~~~~~~~~~~~~~~~
gmake: *** [config.o] Error 1
gmake: Target 'all' not remade because of errors.

**** Build Finished ****



My cfg file looks like this:

var deviceType = "am65xx";
var socType    = deviceType;
var osType     = "tirtos";

var Defaults = xdc.useModule('xdc.runtime.Defaults');
var Diags = xdc.useModule('xdc.runtime.Diags');
var Error = xdc.useModule('xdc.runtime.Error');
var Log = xdc.useModule('xdc.runtime.Log');
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
var Main = xdc.useModule('xdc.runtime.Main');
var Memory = xdc.useModule('xdc.runtime.Memory')
var SysMin = xdc.useModule('xdc.runtime.SysMin');
var System = xdc.useModule('xdc.runtime.System');
var Text = xdc.useModule('xdc.runtime.Text');

var BIOS = xdc.useModule('ti.sysbios.BIOS');
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
var Swi = xdc.useModule('ti.sysbios.knl.Swi');
var Task = xdc.useModule('ti.sysbios.knl.Task');
var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');

var Osal = xdc.useModule('ti.osal.Settings');
Osal.osType = osType;
Osal.socType = socType;

var Udma = xdc.useModule('ti.drv.udma.Settings');
Udma.socType = socType;


var Csl = xdc.useModule('ti.csl.Settings');
Csl.deviceType  = deviceType;


/* Load Sciclient and specify Soctype */
var Sci = xdc.useModule('ti.drv.sciclient.Settings');
Sci.socType = socType;

/* Load UART and specify Soctype */
var Uart = xdc.useModule('ti.drv.uart.Settings');
Uart.socType = socType;

/* Load pruss driver and specify Soctype */
var Pruss = xdc.useModule('ti.drv.pruss.Settings');
Pruss.socType  = socType;


/* Load the Board package and set the board name */
var Board = xdc.useModule('ti.board.Settings');
Board.boardName = "am65xx_idk";

var emacSettings = xdc.useModule ('ti.drv.emac.Settings');
emacSettings.socType = socType;

/*
 * Uncomment this line to globally disable Asserts.
 * All modules inherit the default from the 'Defaults' module.  You
 * can override these defaults on a per-module basis using Module.common$.
 * Disabling Asserts will save code space and improve runtime performance.
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
 */

/*
 * Uncomment this line to keep module names from being loaded on the target.
 * The module name strings are placed in the .const section. Setting this
 * parameter to false will save space in the .const section.  Error and
 * Assert messages will contain an "unknown module" prefix instead
 * of the actual module name.
Defaults.common$.namedModule = false;
 */

/*
 * Minimize exit handler array in System.  The System module includes
 * an array of functions that are registered with System_atexit() to be
 * called by System_exit().
 */
System.maxAtexitHandlers = 4;       

/*
 * Uncomment this line to disable the Error print function.  
 * We lose error information when this is disabled since the errors are
 * not printed.  Disabling the raiseHook will save some code space if
 * your app is not using System_printf() since the Error_print() function
 * calls System_printf().
Error.raiseHook = null;
 */

/*
 * Uncomment this line to keep Error, Assert, and Log strings from being
 * loaded on the target.  These strings are placed in the .const section.
 * Setting this parameter to false will save space in the .const section.
 * Error, Assert and Log message will print raw ids and args instead of
 * a formatted message.
Text.isLoaded = false;
 */

/*
 * Uncomment this line to disable the output of characters by SysMin
 * when the program exits.  SysMin writes characters to a circular buffer.
 * This buffer can be viewed using the SysMin Output view in ROV.
SysMin.flushAtExit = false;
 */

/*
 * The BIOS module will create the default heap for the system.
 * Specify the size of this default heap.
 */
BIOS.heapSize = 0x1000;

/*
 * Build a custom SYS/BIOS library from sources.
 */
BIOS.libType = BIOS.LibType_Custom;

/* System stack size (used by ISRs and Swis) */
Program.stack = 0x2000;

/* Circular buffer size for System_printf() */
SysMin.bufSize = 0x200;

/*
 * Create and install logger for the whole system
 */
var loggerBufParams = new LoggerBuf.Params();
loggerBufParams.numEntries = 16;
var logger0 = LoggerBuf.create(loggerBufParams);
Defaults.common$.logger = logger0;
Main.common$.diags_INFO = Diags.ALWAYS_ON;

System.SupportProxy = SysMin;


Thanks

Alex

  • Hi Alex,

    A quick thought - have you tried to swap the packages and load modules in .cfg like below?

    var Csl = xdc.useModule('ti.csl');
    Csl.deviceType = deviceType;

    var Udma = xdc.useModule('ti.drv.udma');
    Udma.socType = socType;

    Regards,
    Garrett
  • Hi Garrett,

    I already tried swapping the packages in all kinds of combinations. That was my first assumption aswell since I ran into an issue caused by the module order when I imported board.h header for the first time. This seems not the be the cause of the problem. I also tried to loadPackages directly instead of loading modules, that didnt help either.

    I have noticed that the exact same errors occur, if there are no XDC modules loaded in the cfg file at all.

    Regards,

    Alex

  • I got it to work by importing all appropriate libraries for my SoC by hand, which was quite laborious to say the least. I had to look up every single missing define.

    Just in case someone else has the same issue, those includes are necessary (AM65xx):

    File | Includes

    <udma_event.h>    |    #include <ti/csl/src/ip/intaggr/V0/cslr_intaggr.h>

    <udma_ch.h>         |    #include <ti/csl/src/ip/dru/V0/cslr_dru.h> , #include <ti/csl/src/ip/udmap/V0/cslr_udmap.h> , #include <ti/csl/src/ip/udmap/V0/csl_udmap_tr.h>

    <udma_dru.h>       |     #include <ti/csl/src/ip/dru/V0/cslr_dru.h>

    <udma.h>              |     #include <ti/csl/src/ip/intaggr/V0/csl_intaggr.h> , #include <ti/csl/src/ip/proxy/V0/csl_proxy.h> , #include <ti/csl/cslr_ringacc.h>

    <udma_rm.h>        |     #include <ti/drv/udma/soc/V0/udma_soc.h>

    <udma_soc.h>       |    #include <ti/csl/soc/am65xx/src/cslr_navss_defines.h>

    <emac_drc_v5.h>  |    #include <ti/csl/src/ip/intr_router/V0/csl_intr_router.h>

    <cls_intr_router.h> |    #include <ti/csl/src/ip/intr_router/V0/cslr_intr_router.h>

    <cslr.h>                  |    #include <ti/csl/src/ip/proxy/V0/cslr_proxy.h>

    <udma_ring.h>      |    #include <ti/csl/src/ip/ringacc/V0/cslr_ringacc.h> , #include <ti/csl/src/ip/udmap/V0/csl_udmap_tr.h>

    <csl_dru.h>           |    #include <ti/csl/src/ip/udmap/V0/csl_udmap_tr.h> , #include <ti/csl/arch/cslr64.h>


    Not exactly the cleanest solution, so I am still open for suggestions.

    Regards,

    Alex

  • Hi Alex,

    I had the similar problem and placing UDMA package just above EMAC in cfg file solved it.

    var Udma = xdc.loadPackage('ti.drv.udma');
    Udma.Settings.socType = socType;

    var Emac = xdc.loadPackage('ti.drv.emac');
    Emac.Settings.socType = socType;

    Have you tried that combination?
    For PDK103 it works the other way around also.

    Best regards,
    Milan