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/PROCESSOR-SDK-AMIC110: CCS 8.0.0.00016 doesn't support two SDKs with the same EDMA3 driver down to the first 3 parts of the version number, but targeting different processors

Part Number: PROCESSOR-SDK-AMIC110

Tool/software: Code Composer Studio

In a CCS 8.0.0.00016 installation under Windows 10 tried to compile the profinet_slave_RT_MRP_AMIC11x_arm example from PRU-ICSS-Profinet_Slave_01.00.02.02, which uses ti-processor-sdk-rtos-am335x-evm-04.02.00.09.

The compilation of the example was failing with:

configuring amic11x_app_arm.xa8fg from package/cfg/amic11x_app_arm_pa8fg.cfg ...
generating custom ti.sysbios library makefile ... 
Inside EDMA3 Drv Sample getLibs
    will link with ti.sdo.edma3.drv.sample:lib/am335x-evm/a8/release/edma3_lld_drv_sample.aa8fg
subdir_rules.mk:12: recipe for target 'build-194637695-inproc' failed
js: "C:/ti/ccs730/xdctools_3_50_03_33_core/packages/xdc/cfg/Main.xs", line 48: XDC runtime error: can't find the library 'lib/am335x-evm/a8/release/edma3_lld_drv_sample.aa8fg' specified by package ti.sdo.edma3.drv.sample.  It wasn't found along the path 'C:/ti/bios_6_52_00_12/packages;C:/ti/ti-processor-sdk-rtos-am335x-evm-04.02.00.09/pdk_am335x_1_0_9/packages;C:/ti/ti-processor-sdk-rtos-am335x-evm-04.02.00.09/ndk_2_26_00_08/packages;C:/ti/ti-processor-sdk-rtos-k2hk-evm-04.01.00.06/edma3_lld_2_12_05_29/packages;C:/ti/ccs730/xdctools_3_50_03_33_core/packages;..;'.
gmake.exe: *** [package/cfg/amic11x_app_arm_pa8fg.xdl] Error 1
gmake.exe: *** Deleting file `package/cfg/amic11x_app_arm_pa8fg.xdl'
gmake.exe: *** [package/cfg/amic11x_app_arm_pa8fg.xdl] Deleting file `package/cfg/amic11x_app_arm_pa8fg.h'
gmake.exe: *** [package/cfg/amic11x_app_arm_pa8fg.xdl] Deleting file `package/cfg/amic11x_app_arm_pa8fg.c'
js: "C:/ti/ccs730/xdctools_3_50_03_33_core/packages/xdc/tools/Cmdr.xs", line 52: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
gmake[1]: *** [build-194637695-inproc] Error 1
gmake: *** [build-194637695] Error 2
subdir_rules.mk:9: recipe for target 'build-194637695' failed
gmake: Target 'all' not remade because of errors.

The error is while ti-processor-sdk-rtos-am335x-evm-04.02.00.09 has installed edma3_lld_2_12_05_30B, CCS has selected edma3_lld_2_12_05_29 which is part of the ti-processor-sdk-rtos-k2hk-evm-04.01.00.06 installation on the same PC. The edma3_lld_2_12_05_29 in the ti-processor-sdk-rtos-k2hk-evm-04.01.00.06 installation has only libraries compiled for the C66 and A15 cores, whereas the profinet_slave_RT_MRP_AMIC11x_arm example needs the edma3 library compiled for the A8 core which is in the edma3_lld_2_12_05_30B in the ti-processor-sdk-rtos-am335x-evm-04.02.00.09 installation.

The CCS Products is only showing the edma3_lld_2_12_05_29 in the ti-processor-sdk-rtos-k2hk-evm-04.01.00.06, as CCS only appears to track the first 3 digits of the product version:

To get CCS to allow the edma3_lld_2_12_05_30B in the ti-processor-sdk-rtos-am335x-evm-04.02.00.09 to be selected had to:

a) Deselect the top level C:\ti from the product discovery path.

b) Un-install edma3_lld_2_12_05_29 in the ti-processor-sdk-rtos-k2hk-evm-04.01.00.06.

c) Add c:\ti\ti-processor-sdk-rtos-am335x-evm-04.02.00.09 to the product discovery path.

d) Select Rediscover on the CCS Products preferences, which then found the C:\ti\ti-processor-sdk-rtos-am335x-evm-04.02.00.09\edma3_lld_2_12_05_30B and allowed that specific version of the edma3 driver to installed and the example to be compiled:

If CCS finds what it thinks are the same version of product in its product discovery path, but where the final directory name is different could CCS allow either to be selected for use, rather than having to "hide" the unwanted version from the product discovery path?