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.

CCS: Undefined symbol in build for AM571x M4

Other Parts Discussed in Thread: AM5718, SYSBIOS

Tool/software: Code Composer Studio

I have a CCS project building and running on an M4 in the SOC AM571x part.

This is the first time I am trying to use the CSL library in my code.

What I am trying to do is configure the Crossbar to cause an interrupt on the M4 when the A15 performs an operation.

I included the path for the CSL library -i"C:/ti/pdk_am57xx_1_0_3/packages/ti/csl/lib/am571x/m4/release" and the library itself -lti.csl.aem4. See below.

I also included in my code where I am calling the function CSL_xbarIrqConfigure the include file #include <ti/csl/soc/am571x/src/csl_device_xbar.h>

However, I still continue to get the compilation error that CSL_xbarIrqConfigure is undefined. I am assuming this function is part of the CSL library as I can see this function in ti/csl/soc/am571x/src/csl_device_xbar.c.

'Building target: spc.out'
'Invoking: ARM Linker'
"C:/ti/ccsv6/tools/compiler/arm_15.12.3.LTS/bin/armcl" -mv7M4 --code_state=16 -me -O1 -g --define=Q_SPY --define=SPC --define=am5718 --define=ipu1 --define=core0 --diag_wrap=off --diag_warning=225 --display_error_number -z -m"spc.map" --stack_size=0x800 --heap_size=0x800 -i"C:/ti/ccsv6/tools/compiler/arm_15.12.3.LTS/lib" -i"C:/ti/pdk_am57xx_1_0_3/packages/ti/csl/lib/am571x/m4/release" -i"C:/ti/ccsv6/tools/compiler/arm_15.12.3.LTS/include" --reread_libs --define=Q_SPY --define=CORE1=1 --define=IPU0=1 --define=MMU=1 --diag_wrap=off --warn_sections --display_error_number --xml_link_info="spc_linkInfo.xml" --rom_model -o "spc.out" "./Config/Sage_AM571x_IPU0_M4_VPD/package/package_Sage_AM571x_IPU0_M4_VPD.obj" "./Shared/common/src/CSharedMemory.obj" "./Shared/common/src/DebugLog.obj" "./Shared/gen/src/ABaseActor.obj" "./Shared/gen/src/AMailbox.obj" "./Shared/gen/src/CMailboxHw.obj" "./Shared/gen/src/EMailboxMessage.obj" "./Shared/qp/include/qstamp.obj" "./Shared/qp/qspy/qspy.obj" "./Shared/qp/source/qep_hsm.obj" "./Shared/qp/source/qep_msm.obj" "./Shared/qp/source/qf_act.obj" "./Shared/qp/source/qf_actq.obj" "./Shared/qp/source/qf_defer.obj" "./Shared/qp/source/qf_dyn.obj" "./Shared/qp/source/qf_mem.obj" "./Shared/qp/source/qf_ps.obj" "./Shared/qp/source/qf_qact.obj" "./Shared/qp/source/qf_qeq.obj" "./Shared/qp/source/qf_qmact.obj" "./Shared/qp/source/qf_time.obj" "./Shared/qp/source/qs.obj" "./Shared/qp/source/qs_64bit.obj" "./Shared/qp/source/qs_fp.obj" "./Shared/qp/tirtos/qf_port.obj" "./control/main.obj" "./driver/CHwiOmapMailbox.obj" "./driver/CMailboxOmap.obj" "./driver/vpsdrv.obj" "./driver/vpshal_vipPort.obj" "./driver/vpshal_vipTop.obj" "./driver/vpshal_vpdma.obj" "./driver/vpshal_vpeTop.obj" "./gen/ABackShell.obj" "./gen/AMain.obj" "./gen/ASpin.obj" "./gen/ATaskOne.obj" "./gen/AVideo.obj" "./hwi/HwiSpi.obj" -l"configPkg/linker.cmd" -llibc.a -lti.csl.aem4
<Linking>

undefined first referenced
symbol in file
--------- ----------------
CSL_xbarIrqConfigure(CSL_XbarIrqCpuId, unsigned int, CSL_XbarIrq) ./driver/CHwiOmapMailbox.obj

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

>> Compilation failure
makefile:205: recipe for target 'spc.out' failed
gmake[1]: *** [spc.out] Error 1
makefile:197: recipe for target 'all' failed
gmake: *** [all] Error 2

**** Build Finished ****

Any help on this matter would be greatly appreciated. 

  • Charles,

    In general the example code is better understood by the experts of the device forum. I will move your post there and you should get a reply soon.

    Regards,
    Rafael
  • Charles,

    Instead of <ti/csl/soc/am571x/src/csl_device_xbar.h>, have you tried <ti/csl/soc.h> which will include all necessary header files? You can refer to QSPI_BasicExample_idkAM571x_m4TestProject that calls CSL_xbarIrqConfigure (cpu, xbarIndex, CSL_XBAR_QSPI_IRQ) in main_qspi_flash_read_write.c.

    Regards,
    Garrett
  • Hello Garrett,

    Yes I did try that as I found via a search that the vps example was also using it in "Bsp_platformTda3xxInit" function. So I tried a variety of different include files with no luck.

    The next step I tried which works is as follows: (I copied the below include files and code from the CSL_xbarIrqConfigure function into my code)

    #include <ti/csl/soc/am571x/src/csl_device_xbar.h>
    #include <ti/csl/soc/am571x/src/cslr_control_intr_dma.h>
    #include <ti/csl/soc/am571x/src/cslr_control_core.h>
    #include <ti/csl/soc/am571x/src/cslr_soc_mpu_baseaddress.h>

    CSL_control_intr_dmaRegs *ctrlCoreIntrDmaReg =
    (CSL_control_intr_dmaRegs *) CSL_MPU_IRQ_DMARQ_CROSSBAR_REGISTERS_REGS;
    CSL_control_coreRegs *ctrlCoreReg =
    (CSL_control_coreRegs *) CSL_MPU_CTRL_MODULE_CORE_CORE_REGISTERS_REGS;
    Uint32 regIdx = (CSL_XBAR_INST_IPU1_IRQ_50 - 1U) / 2U;
    Uint32 regLsb = (((CSL_XBAR_INST_IPU1_IRQ_50 - 1U) % 2U) * 16U);
    Uint32 regMsb = regLsb + 16U;

    ctrlCoreReg->MMR_LOCK_2 = 0xF757FDC0U;
    CSL_FINSR(ctrlCoreIntrDmaReg->IPU1_IRQ[regIdx],
    regMsb, regLsb, CSL_XBAR_MAILBOX3_IRQ_USER1);
    ctrlCoreReg->MMR_LOCK_2 = 0xFDF45530U;



    The only thing I can figure is when I look at the CSL libraries for the c66 DSP but not the A15 or the M4 I find a second library:

    c66 csl libs:
    ti.csl.aa66
    ti.csl.aa66e
    ti.csl.intc.aa66 - Is this the library that has the interrupt functions?
    ti.csl.intc.aa66e - Is this the library that has the interrupt functions?

    m4 csl libs:
    ti.csl.aem4

    Do I need a ti.csl.intc.aem4 library for the m4 to be able to call "CSL_xbarIrqConfigure"?
  • Charles,

    ti.csl.intc.aa66 and ti.csl.intc.ae66e (big endian) are the C66x libraries for some basic interrupt functions:

    /pdk_am57xx_1_0_4/packages/ti/csl/lib/am572x/c66/release$ nm ti.csl.intc.ae66 | more

    _csl_intcIntrEnDisRes.oe66:

    000000b8 T CSL_intcGlobalDisable

    00000098 T CSL_intcGlobalEnable

    0000012c T CSL_intcGlobalExcepClear

    00000104 T CSL_intcGlobalExcepEnable

    00000118 T CSL_intcGlobalExtExcepEnable

    000000f0 T CSL_intcGlobalNmiEnable

    000000d8 T CSL_intcGlobalRestore

    00000050 T CSL_intcInterruptClear

    00000030 T CSL_intcInterruptDisable

    00000010 T CSL_intcInterruptEnable

    0000006c T CSL_intcInterruptRestore

    00000060 T CSL_intcInterruptSet

    00000000 T CSL_intcIvpSet

    00000084 T CSL_intcQueryInterruptStatus

    00000004 a _CSL_INTC_GEE

    00000001 a _CSL_INTC_GIE_MASK

    fffffffe a _CSL_INTC_GIE_MASK_DISABLE

    00000008 a _CSL_INTC_XEN

            U _CSL_intcVectorTable

    You don't need ti.csl.intc.aem4 library for the m4. The CSL_xbasIrqConfigure is implemented in ./soc/am571x/src/csl_device_xbar.c and included in ti.csl.aem4.

    /pdk_am57xx_1_0_4/packages/ti/csl/lib/am572x/m4/release$ nm ti.csl.aem4 | grep CSL_xbarIrqConfigure
    00000001 T CSL_xbarIrqConfigure

    Regards,

    Garrett

  • Garrett,

       Thank you for the explanation of what the other library's are for and that only one library is needed for the M4 that helps.

    I still do not understand why I cannot call "CSL_xbarIrqConfigure" from my code with the ti.csl.aem4 library added to my project.

    Below is how I included the library into my project are there any other steps I am missing.

  • Charles,

    Do you have the following code in your .cfg file?

    /*use CSL package*/

    var socType           = "am571x";

    var Csl = xdc.loadPackage('ti.csl');

    Csl.Settings.deviceType = socType;

    Above will link ti.csl.aem4 into sysbios.aem4, check the build log:

    generating custom ti.sysbios library makefile ...
        Linking with library ti.board:./lib/idkAM571x/m4/release/ti.board.aem4
        Linking with library ti.drv.i2c:./lib/m4/release/ti.drv.i2c.aem4
        Linking with library ti.drv.uart:./lib/m4/release/ti.drv.uart.aem4
        Linking with library ti.drv.gpio:./lib/m4/release/ti.drv.gpio.aem4
        Linking with library ti.drv.spi:./lib/am571x/m4/release/ti.drv.spi.aem4
        Linking with library ti.csl:./lib/am571x/m4/release/ti.csl.aem4
        Linking with library ti.osal:./lib/tirtos/m4/release/ti.osal.aem4
    Starting build of library sources ...
    making C:/ti/pdk_am57xx_1_0_4/packages/ti/drv/spi/example/qspi_flash/am571x/m4/bios/src/sysbios/sysbios.aem4 ...


    Regards,

    Garrett

  • Garrett,

      1) Thank you again I did not have those parameters in my .cfg file. So I added them.

    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 SysMin = xdc.useModule('xdc.runtime.SysMin');
    var System = xdc.useModule('xdc.runtime.System');
    var Text = xdc.useModule('xdc.runtime.Text');
    var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
    var BIOS = xdc.useModule('ti.sysbios.BIOS');
    var Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
    var Clock = xdc.useModule('ti.sysbios.knl.Clock');
    var HalHwi = xdc.useModule('ti.sysbios.hal.Hwi');
    var Task = xdc.useModule('ti.sysbios.knl.Task');
    var Timer = xdc.useModule('ti.sysbios.hal.Timer');
    var Idle = xdc.useModule('ti.sysbios.knl.Idle');
    var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');

    /*use CSL package*/
    var socType = "am571x";
    var Csl = xdc.loadPackage('ti.csl');
    Csl.Settings.deviceType = socType;

      2) I added the  #include <ti/csl/soc.h> file only as you requested earlier.

    3) I then built:

    **** Build of configuration Debug for project spc ****

    "C:\\ti\\ccsv6\\utils\\bin\\gmake" all

    'Building file: ../Config/m4.cfg'

    'Invoking: XDCtools'

    "C:/ti/xdctools_3_32_00_06_core/xs" --xdcpath="C:/ti/bios_6_45_01_29/packages;C:/ti/edma3_lld_2_12_01_24/packages;C:/ti/pdk_am57xx_1_0_3/packages;C:/_workspaces/sw-fwdist/embedded/wg4/task/proto1/ccs/Spc/.config/xconfig_spc/package;C:/ti/ccsv6/ccs_base;C:/_workspaces/sw-fwdist/embedded/wg4/task/proto1/ccs/Spc/Config;" xdc.tools.configuro -o configPkg -t ti.targets.arm.elf.M4 -p Sage_AM571x_IPU0_M4_VPD -r debug -b "C:/_workspaces/sw-fwdist/embedded/wg4/task/proto1/ccs/Spc/Config/Sage_AM571x_IPU0_M4_VPD/config.bld" -c "C:/ti/ccsv6/tools/compiler/arm_15.12.3.LTS" --compileOptions "-g --optimize_with_debug" "../Config/m4.cfg"

    making package.mak (because of package.bld) ...

    configuring m4.xem4 from package/cfg/m4_pem4.cfg ...

    generating custom ti.sysbios library makefile ...

    Linking with library ti.csl:./lib/am571x/m4/release/ti.csl.aem4

    Starting build of library sources ...

    making C:/_workspaces/sw-fwdist/embedded/wg4/task/proto1/ccs/Spc/Config/src/sysbios/sysbios.aem4 ...

    gmake[1]: Entering directory `C:/_workspaces/sw-fwdist/embedded/wg4/task/proto1/ccs/Spc/Config/src/sysbios'

    gmake[1]: Nothing to be done for `all'.

    gmake[1]: Leaving directory `C:/_workspaces/sw-fwdist/embedded/wg4/task/proto1/ccs/Spc/Config/src/sysbios'

    Build of libraries done.

    clem4 package/cfg/m4_pem4.c ...

    Config/subdir_rules.mk:7: warning: overriding recipe for target 'configPkg/linker.cmd'

    Config/Sage_AM571x_IPU0_M4_VPD/package/subdir_rules.mk:7: warning: ignoring old recipe for target 'configPkg/linker.cmd'

    'Finished building: ../Config/m4.cfg'

    'Building target: spc.out'
    'Invoking: ARM Linker'
    "C:/ti/ccsv6/tools/compiler/arm_15.12.3.LTS/bin/armcl" -mv7M4 --code_state=16 -me -O1 -g --define=Q_SPY --define=SPC --define=SOC_AM571x --define=ipu1 --define=core0 --diag_wrap=off --diag_warning=225 --display_error_number -z -m"spc.map" --stack_size=0x800 --heap_size=0x800 -i"C:/ti/ccsv6/tools/compiler/arm_15.12.3.LTS/lib" -i"C:/ti/pdk_am57xx_1_0_3/packages/ti/csl/lib/am571x/m4/release" -i"C:/ti/ccsv6/tools/compiler/arm_15.12.3.LTS/include" --reread_libs --define=Q_SPY --define=CORE1=1 --define=IPU0=1 --define=MMU=1 --diag_wrap=off --warn_sections --display_error_number --xml_link_info="spc_linkInfo.xml" --rom_model -o "spc.out" "./Config/Sage_AM571x_IPU0_M4_VPD/package/package_Sage_AM571x_IPU0_M4_VPD.obj" "./Shared/common/src/CSharedMemory.obj" "./Shared/common/src/DebugLog.obj" "./Shared/gen/src/ABaseActor.obj" "./Shared/gen/src/AMailbox.obj" "./Shared/gen/src/CMailboxHw.obj" "./Shared/gen/src/EMailboxMessage.obj" "./Shared/qp/include/qstamp.obj" "./Shared/qp/qspy/qspy.obj" "./Shared/qp/source/qep_hsm.obj" "./Shared/qp/source/qep_msm.obj" "./Shared/qp/source/qf_act.obj" "./Shared/qp/source/qf_actq.obj" "./Shared/qp/source/qf_defer.obj" "./Shared/qp/source/qf_dyn.obj" "./Shared/qp/source/qf_mem.obj" "./Shared/qp/source/qf_ps.obj" "./Shared/qp/source/qf_qact.obj" "./Shared/qp/source/qf_qeq.obj" "./Shared/qp/source/qf_qmact.obj" "./Shared/qp/source/qf_time.obj" "./Shared/qp/source/qs.obj" "./Shared/qp/source/qs_64bit.obj" "./Shared/qp/source/qs_fp.obj" "./Shared/qp/tirtos/qf_port.obj" "./control/main.obj" "./driver/CHwiOmapMailbox.obj" "./driver/CMailboxOmap.obj" "./driver/vpsdrv.obj" "./driver/vpshal_vipPort.obj" "./driver/vpshal_vipTop.obj" "./driver/vpshal_vpdma.obj" "./driver/vpshal_vpeTop.obj" "./gen/ABackShell.obj" "./gen/AMain.obj" "./gen/ASpin.obj" "./gen/ATaskOne.obj" "./gen/AVideo.obj" "./hwi/HwiSpi.obj" -l"configPkg/linker.cmd" -llibc.a -lti.csl.aem4
    <Linking>

    undefined first referenced
    symbol in file
    --------- ----------------
    CSL_xbarIrqConfigure(CSL_XbarIrqCpuId, unsigned int, CSL_XbarIrq) ./driver/CHwiOmapMailbox.obj

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

    >> Compilation failure
    makefile:205: recipe for target 'spc.out' failed
    gmake[1]: *** [spc.out] Error 1
    makefile:197: recipe for target 'all' failed
    gmake: *** [all] Error 2

    **** Build Finished ****

    Is there anything else I could be missing. I really appreciate your attention to this matter.

  • Garrett,

    One more question. I am using an early release of pdk_am57xx_1_0_3 and I see in your examples you are using pdk_am57xx_1_0_4.

    Do I need to upgrade to the latest version?
  • Charles,

    CSL_xbarIrqConfigure() is supported in pdk_am57xx_1_0_3, see pcie example project. We recommend you upgrade to pdk_am57xx_1_0_4 but the build issue should be not because of pdk version. Can you try to create the PDK pcie example for M4 and build to have a sanity check?

    -Garrett
  • Garrett,

          Give me a day or two to see all what needs to get upgraded in our development environment. I also have to keep my self and two others all on the same page and be able to build and release software. 

          I will get back to you early next week most likely.

    Thank you again for your help.

  • Hello Garrett,

    OK I updated my development environment to the the latest CCS and SDK and I do not know if I told you this but I am developing in windows not linux.

    I rebuilt my project and again get the same linker error for CSL_xbarIrqConfigure().

    I then decided to try to rebuild the CSL as follows:
    C:\ti\pdk_am57xx_1_0_5\packages>pdksetupenv.bat

    C:\ti\pdk_am57xx_1_0_5\packages\ti\csl\gmake app_clean
    C:\ti\pdk_am57xx_1_0_5\packages\ti\csl\gmake all

    I get the following error:
    C:\ti\PDK_AM~2\packages\ti\csl>gmake all
    gmake libcores SOC=am572x
    gmake[1]: Entering directory `C:/ti/PDK_AM~2/packages/ti/csl'
    gmake lib_allendians CORE=a15_0 BUILD_PROFILE_a15_0=release
    gmake[2]: Entering directory `C:/ti/PDK_AM~2/packages/ti/csl'
    gmake comp_libs ENDIAN=little
    gmake[3]: Entering directory `C:/ti/PDK_AM~2/packages/ti/csl'
    gmake -C /ti/PDK_AM~2/packages//ti/csl/arch -fmakefile_init.mk
    gmake[4]: Entering directory `C:/ti/PDK_AM~2/packages/ti/csl/arch'
    gmake[4]: Nothing to be done for `all'.
    gmake[4]: Leaving directory `C:/ti/PDK_AM~2/packages/ti/csl/arch'
    Nothing to be done for am572x a15_0 csl_intc
    gmake -C /ti/PDK_AM~2/packages//ti/csl -fmakefile.mk
    gmake[4]: Entering directory `C:/ti/PDK_AM~2/packages/ti/csl'
    gmake[4]: Nothing to be done for `all'.
    gmake[4]: Leaving directory `C:/ti/PDK_AM~2/packages/ti/csl'
    gmake -C /ti/PDK_AM~2/packages//ti/csl/example/utils/common
    gmake[4]: Entering directory `C:/ti/PDK_AM~2/packages/ti/csl/example/utils/common'
    gmake[4]: Nothing to be done for `all'.
    gmake[4]: Leaving directory `C:/ti/PDK_AM~2/packages/ti/csl/example/utils/common'
    gmake -C /ti/PDK_AM~2/packages//ti/csl/example/utils/uart_console
    gmake[4]: Entering directory `C:/ti/PDK_AM~2/packages/ti/csl/example/utils/uart_console'
    gmake[4]: Nothing to be done for `all'.
    gmake[4]: Leaving directory `C:/ti/PDK_AM~2/packages/ti/csl/example/utils/uart_console'
    gmake[3]: Leaving directory `C:/ti/PDK_AM~2/packages/ti/csl'
    gmake[2]: Leaving directory `C:/ti/PDK_AM~2/packages/ti/csl'
    gmake lib_allendians CORE=ipu1_0 BUILD_PROFILE_ipu1_0=release
    gmake[2]: Entering directory `C:/ti/PDK_AM~2/packages/ti/csl'
    gmake comp_libs ENDIAN=little
    gmake[3]: Entering directory `C:/ti/PDK_AM~2/packages/ti/csl'
    Nothing to be done for am572x ipu1_0 csl_init
    Nothing to be done for am572x ipu1_0 csl_intc
    gmake -C /ti/PDK_AM~2/packages//ti/csl -fmakefile.mk
    gmake[4]: Entering directory `C:/ti/PDK_AM~2/packages/ti/csl'
    # Compiling am572x:ipu1_0:release:csl: ./soc/am572x/src/csl_device_xbar.c
    C:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/bin/armcl -ppd=/ti/PDK_AM~2/packages//ti/binary/ti/csl/obj/am572x/m4/release/.deps/csl_devi
    ce_xbar.P -g -ms -DMAKEFILE_BUILD -c -qq -pdsw225 --endian=little -mv7M4 --float_support=vfplib --abi=eabi -eo.oem4 -ea.sem4 --symdebug:dwarf
    --embed_inline_assembly --emit_warnings_as_errors -ms -oe -O3 -op0 -os --optimize_with_debug --inline_recursion_limit=20 -DBUILD_IPU1_0 -DB
    UILD_IPU1 -DSOC_AM572x -IC:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/include -I. -I./soc/am572x/src -I./arch/m4 -Isrc/ip/dcan/V0 -I.
    -Isrc/ip/dcan/V0/V0_0 -I. -Isrc/ip/edma/V1 -I. -Isrc/ip/edma/V0 -I. -Isrc/ip/elm/V0 -I. -Isrc/ip/gpio/V1 -I. -Isrc/ip/gpmc/V1 -I. -Isrc/ip/i
    2c/V2 -Isrc/ip/l3fw/V0 -I. -Isrc/ip/mailbox/V0 -Isrc/ip/mailbox/V0/V0_0 -I. -Isrc/ip/mcasp/V0 -I. -Isrc/ip/mcspi/V0 -I. -Isrc/ip/mmc/V0 -I. -
    Isrc/ip/mmu/dsp/V0 -I. -Isrc/ip/pcie/V1 -I. -Isrc/ip/qspi/V1 -I. -Isrc/ip/spinlock/V0 -I. -Isrc/ip/timer/V1 -I. -Isrc/ip/uart/V1 -I. -Isrc/ip
    /wd_timer/V0 -Isrc/ip/tsc/V0 -Isrc/ip/chip/V0 -Isrc/ip/ecap/V0 -I. -Isrc/ip/ecap/V0 -I/ti/PDK_AM~2/packages/ -I/ti/PDK_AM~2/packages//ti/csl
    -I/ti/PDK_AM~2/packages//ti/csl -fr=/ti/PDK_AM~2/packages//ti/binary/ti/csl/obj/am572x/m4/release -fs=/ti/PDK_AM~2/packages//ti/binary/ti/csl
    /obj/am572x/m4/release -fc ./soc/am572x/src/csl_device_xbar.c
    process_begin: CreateProcess(NULL, C:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/bin/armcl -ppd=/ti/PDK_AM~2/packages//ti/binary/ti/csl/o
    bj/am572x/m4/release/.deps/csl_device_xbar.P -g -ms -DMAKEFILE_BUILD -c -qq -pdsw225 --endian=little -mv7M4 --float_support=vfplib --abi=eabi
    -eo.oem4 -ea.sem4 --symdebug:dwarf --embed_inline_assembly --emit_warnings_as_errors -ms -oe -O3 -op0 -os --optimize_with_debug --inline_rec
    ursion_limit=20 -DBUILD_IPU1_0 -DBUILD_IPU1 -DSOC_AM572x -IC:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/include -I. -I./soc/am572x/src -
    I./arch/m4 -Isrc/ip/dcan/V0 -I. -Isrc/ip/dcan/V0/V0_0 -I. -Isrc/ip/edma/V1 -I. -Isrc/ip/edma/V0 -I. -Isrc/ip/elm/V0 -I. -Isrc/ip/gpio/V1 -I.
    -Isrc/ip/gpmc/V1 -I. -Isrc/ip/i2c/V2 -Isrc/ip/l3fw/V0 -I. -Isrc/ip/mailbox/V0 -Isrc/ip/mailbox/V0/V0_0 -I. -Isrc/ip/mcasp/V0 -I. -Isrc/ip/mcs
    pi/V0 -I. -Isrc/ip/mmc/V0 -I. -Isrc/ip/mmu/dsp/V0 -I. -Isrc/ip/pcie/V1 -I. -Isrc/ip/qspi/V1 -I. -Isrc/ip/spinlock/V0 -I. -Isrc/ip/timer/V1 -I
    . -Isrc/ip/uart/V1 -I. -Isrc/ip/wd_timer/V0 -Isrc/ip/tsc/V0 -Isrc/ip/chip/V0 -Isrc/ip/ecap/V0 -I. -Isrc/ip/ecap/V0 -I/ti/PDK_AM~2/packages/ -
    I/ti/PDK_AM~2/packages//ti/csl -I/ti/PDK_AM~2/packages//ti/csl -fr=/ti/PDK_AM~2/packages//ti/binary/ti/csl/obj/am572x/m4/release -fs=/ti/PDK_
    AM~2/packages//ti/binary/ti/csl/obj/am572x/m4/release -fc ./soc/am572x/src/csl_device_xbar.c, ...) failed.
    make (e=2): The system cannot find the file specified.
    gmake[4]: *** [/ti/PDK_AM~2/packages//ti/binary/ti/csl/obj/am572x/m4/release/csl_device_xbar.oem4] Error 2
    gmake[4]: Leaving directory `C:/ti/PDK_AM~2/packages/ti/csl'
    gmake[3]: *** [csl] Error 2
    gmake[3]: Leaving directory `C:/ti/PDK_AM~2/packages/ti/csl'
    gmake[2]: *** [little_lib] Error 2
    gmake[2]: Leaving directory `C:/ti/PDK_AM~2/packages/ti/csl'
    gmake[1]: *** [ipu1_0_lib] Error 2
    gmake[1]: Leaving directory `C:/ti/PDK_AM~2/packages/ti/csl'
    gmake: *** [am572x_lib] Error 2


    I find it very interesting that the error is on the file csl_device_xbar.c which is the file that contains the function CSL_xbarIrqConfigure().

    I have to figure out how to build the pcie example for the m4 next.
  • I got the pcie example to create and build.

    It does compile with the function call to CSL_xbarIrqConfigure().

    I will have to compare project and .cfg file settings to see what I am possibly missing.

    Thank You