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.

AM5748: DSP GPIO example

Part Number: AM5748
Other Parts Discussed in Thread: AM5728, SYSBIOS

I am working RTOS template app for DSP with a AM5748 based SoM.

I am able to build the firmware and while trying to enable the DSP from the user space (via unbind/bind),  the DSP status is showing as offline.

I have tried to load the firmware using in a standalone environment (without Linux on A15 core) using CCS, I am getting the following error:

C66xx_DSP1: File Loader: Verification failed: Values at address 0x800A3400 do not match Please verify target memory and memory map.
C66xx_DSP1: GEL: File: /home/indstron/workspace_v10/AM57X_template_app/Debug/rtos_template_app_am572x_c66.out: a data verification error occurred, file load failed.

Also, I am trying to add the SPI to existing template application.

In processor sdk rtos/ pdk/packages/ti/drv/spi, I can see SPI.h and MCSPI.h. What the difference between these two files?

What are the things I need to change, if I want to run the same application on DSP2?Is setting the platform to "ti.platforms.evmDRA7XX:dsp2" is enough? Do we need to make any changes in the XDC Script or resource table?

  • Hi Arun,

    C66xx_DSP1: File Loader: Verification failed: Values at address 0x800A3400 do not match Please verify target memory and memory map.
    C66xx_DSP1: GEL: File: /home/indstron/workspace_v10/AM57X_template_app/Debug/rtos_template_app_am572x_c66.out: a data verification error occurred, file load failed.

    Are you running GEL file on A15 core before loading the DSP core?

    Regards,
    Parth

  • Hi Parth,

    I have followed the steps below:

    1. Target Configuration > Launch Selected Configuration

    2. Selected A15_core0 and connect to the target.

    3. Selected AM572x_Multicore_reset GEL file

    4. Scripts>AM572X MULTICRE Initialisation>DSP1SCLKEnable_API selected

    5. Selected C66cc_DSP1 and connect

    6. Run>Load>Load Program and selected the output file

    On doing this the above error occurs.

    Also, pls suggest what should be target platform? Currently, I have selected the platform as ti.platforms.evmAM572X:dsp1

    Is this issue happens because I am using an AM5748 based SoM and template app is for AM5728

  • Hi Arun,

    Is this issue happens because I am using an AM5748 based SoM and template app is for AM5728

    Yes, this could be the issue here. Any specific reason you are going with the template app. You can directly use spi driver example. You should be able to load it properly with CCS without any issues.

    Regards,
    Parth

  • Hi Parth,

    As you suggested, I have created a New empty project and drag and dropped the PDK_INSTALL_PATH/ti/drv/spi/example/mcspiLoopbackApp/src/mcspiLoopbackApp.c and PDK_INSTALL_PATH/ti/drv/spi/example/mcspiLoopbackApp/am574x/c66/bios/mcspi_loopback_c66_idkAM574x.cfg and selected the link to files option

    1. What should be the platform? (Properties>General>Products)

    2. And how can we set the compiler options?

    In MCSPI_Loopback_idkAM574x_c66ExampleProject.txt, compiler options to be set as

    -ccs.setCompilerOptions "-D -mv6600 -g -dSOC_AM574x -didkAM574x -dUSE_BIOS -dC66X -dMCSPI_MULT_CHANNEL --diag_warning=225 --diag_warning=994 --diag_warning=262 --diag_suppress=1111 --diag_suppress=827  --diag_suppress=824  --diag_suppress=837  --diag_suppress=1037 --diag_suppress=195 --diag_suppress=77  --diag_suppress=232 -I${PDK_INSTALL_PATH}/ti/drv/spi --entry_parm=address --exit_hook=ti_utils_exit --exit_parm=address --entry_hook=ti_utils_entry "  -rtsc.enableRtsc

    I have added this (highlighted test) to the existing options Under Properties>Build>C6000 Compiler>edit flags.

    I am getting the following error.

    **** Build of configuration Debug for project spiLoopBack ****

    /home/indstron/ti/ccs1040/ccs/utils/bin/gmake -k -j 8 all -O
     
    Building file: "/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/ti/drv/spi/example/mcspiLoopbackApp/am574x/c66/bios/mcspi_loopback_c66_idkAM574x.cfg"
    Invoking: XDCtools
    "/home/indstron/ti/ccs1040/xdctools_3_62_01_15_core/xs" --xdcpath="/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/openmp_dsp_am57xx_2_06_03_00/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/ctoolslib_2_2_0_0/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/edma3_lld_2_12_05_30E/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/framework_components_3_40_02_07/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/framework_components_3_40_02_07/examples;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/imglib_c66x_3_1_1_0/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/ipc_3_50_04_08/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/ndk_3_61_01_01/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/bios_6_76_03_01/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/uia_2_30_01_02/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/xdais_7_24_00_04/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/xdais_7_24_00_04/examples;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66 -r debug -c "/home/indstron/ti/ccs1040/ccs/tools/compiler/ti-cgt-c6000_8.3.10" "/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/ti/drv/spi/example/mcspiLoopbackApp/am574x/c66/bios/mcspi_loopback_c66_idkAM574x.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring mcspi_loopback_c66_idkAM574x.xe66 from package/cfg/mcspi_loopback_c66_idkAM574x_pe66.cfg ...
         SoC Type is am574x
         SoC Type is am574x
    generating custom ti.sysbios library makefile ...
        Linking with library ti.board:./lib/idkAM574x/c66/release/ti.board.ae66
        Linking with library ti.drv.i2c:./lib/am574x/c66/release/ti.drv.i2c.ae66
        Linking with library ti.drv.uart:./lib/am574x/c66/release/ti.drv.uart.ae66
        Linking with library ti.drv.spi:./lib/am574x/c66/release/ti.drv.spi.profiling.ae66
        Linking with library ti.drv.gpio:./lib/c66/release/ti.drv.gpio.ae66
        Linking with library ti.osal:./lib/tirtos/c66/release/ti.osal.ae66
        Linking with library ti.utils.profiling:./lib/c66/release/ti.utils.profiling.ae66
        Linking with library ti.csl:./lib/am574x/c66/release/ti.csl.ae66
    Starting build of library sources ...
    making /home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/ti/drv/spi/example/mcspiLoopbackApp/am574x/c66/bios/src/sysbios/sysbios.ae66 ...
    Build of libraries done.
    cle66 package/cfg/mcspi_loopback_c66_idkAM574x_pe66.c ...
    Finished building: "/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/ti/drv/spi/example/mcspiLoopbackApp/am574x/c66/bios/mcspi_loopback_c66_idkAM574x.cfg"
     
    Building file: "/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/ti/drv/spi/example/mcspiLoopbackApp/src/mcspiLoopbackApp.c"
    Invoking: C6000 Compiler
    "/home/indstron/ti/ccs1040/ccs/tools/compiler/ti-cgt-c6000_8.3.10/bin/cl6x" -mv6600 --include_path="/home/indstron/workspace_v10/spiLoopBack" --include_path="/ti/drv/spi" --include_path="/home/indstron/ti/ccs1040/ccs/tools/compiler/ti-cgt-c6000_8.3.10/include" --define=am5748 --define=core1 --define=SOC_AM574x --define=idkAM574x --define=USE_BIOS --define=C66X --define=MCSPI_MULT_CHANNEL -g --diag_suppress=1111 --diag_suppress=827 --diag_suppress=824 --diag_suppress=837 --diag_suppress=1037 --diag_suppress=195 --diag_suppress=77 --diag_suppress=232 --diag_warning=225 --diag_warning=994 --diag_warning=262 --diag_wrap=off --display_error_number --entry_hook=ti_utils_entry --exit_hook=ti_utils_exit --entry_parm=address --exit_parm=address --preproc_with_compile --preproc_dependency="mcspiLoopbackApp.d_raw" --cmd_file="configPkg/compiler.opt"  "/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/ti/drv/spi/example/mcspiLoopbackApp/src/mcspiLoopbackApp.c"
    "configPkg/linker.cmd", line 34: error #10264: L2SRAM memory range overlaps existing memory range IRAM_MEM
    "configPkg/linker.cmd", line 36: error #10264: DDR2 memory range overlaps existing memory range DDR0
    Finished building: "/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/ti/drv/spi/example/mcspiLoopbackApp/src/mcspiLoopbackApp.c"
     
    Building target: "spiLoopBack.out"
    Invoking: C6000 Linker
    "/home/indstron/ti/ccs1040/ccs/tools/compiler/ti-cgt-c6000_8.3.10/bin/cl6x" -mv6600 --define=am5748 --define=core1 --define=SOC_AM574x --define=idkAM574x --define=USE_BIOS --define=C66X --define=MCSPI_MULT_CHANNEL -g --diag_suppress=1111 --diag_suppress=827 --diag_suppress=824 --diag_suppress=837 --diag_suppress=1037 --diag_suppress=195 --diag_suppress=77 --diag_suppress=232 --diag_warning=225 --diag_warning=994 --diag_warning=262 --diag_wrap=off --display_error_number --entry_hook=ti_utils_entry --exit_hook=ti_utils_exit --entry_parm=address --exit_parm=address -z -m"spiLoopBack.map" --heap_size=0x800 --stack_size=0x800 -i"/home/indstron/ti/ccs1040/ccs/tools/compiler/ti-cgt-c6000_8.3.10/lib" -i"/home/indstron/ti/ccs1040/ccs/tools/compiler/ti-cgt-c6000_8.3.10/include" --reread_libs --define=CORE1=1 --diag_wrap=off --display_error_number --warn_sections --xml_link_info="spiLoopBack_linkInfo.xml" --rom_model -o "spiLoopBack.out" "./mcspiLoopbackApp.obj" "../AM57xx_C66.cmd" -l"configPkg/linker.cmd"  -llibc.a
    <Linking>
    "../AM57xx_C66.cmd", line 49: error #10099-D: program will not fit into available memory.  run placement with alignment fails for section ".fardata" size 0x40010d4 .  Available memory ranges:
       OCMC_RAM1    size: 0x80000      unused: 0x52676      max hole: 0x52650   
    "configPkg/linker.cmd", line 155: warning #10097: memory range not found: EXT_RAM on page 0
    "configPkg/linker.cmd", line 155: error #10099-D: program will not fit into available memory.  run placement with alignment fails for section ".text" size 0
    "configPkg/linker.cmd", line 167: warning #10097: memory range not found: EXT_RAM on page 0
    "configPkg/linker.cmd", line 167: error #10099-D: program will not fit into available memory.  run placement with alignment fails for section ".const" size 0
    "configPkg/linker.cmd", line 179: warning #10097: memory range not found: EXT_RAM on page 0
    "configPkg/linker.cmd", line 179: error #10099-D: program will not fit into available memory.  run placement with alignment fails for section ".plt" size 0
    "configPkg/linker.cmd", line 183: warning #10097: memory range not found: EXT_RAM on page 0
    "configPkg/linker.cmd", line 183: error #10099-D: program will not fit into available memory.  placement with alignment fails for section "xdc.meta" size 0x108
    ../../master/ELFLNK/build.c:2624:internal fatal error #10251: ("xdc.meta:mcspi_loopback_c66_idkAM574x_pe66.oe66")
     
    INTERNAL ERROR: /home/indstron/ti/ccs1040/ccs/tools/compiler/ti-cgt-c6000_8.3.10/bin/lnk6x had an internal inconsistency and aborted
     
    This is caused by a defect in the TI Linker.
    TI Customer Support may be able to suggest a workaround to avoid this.
     
    Upgrading to the newest version of the compiler may fix this problem.
     
    Contact TI in the E2E support forums at http://e2e.ti.com under
    "Development Tools", "TI C/C++ Compiler".  See the link titled
    "Submitting an issue".
     
    We need to see this ENTIRE error message and a complete, reproducible
    test case including ALL of the command-line options.
    Include all of the object files, libraries, and linker command files
    used to link the program.
     
    >> Compilation failure
    makefile:139: recipe for target 'spiLoopBack.out' failed
    gmake[1]: *** [spiLoopBack.out] Error 1
    gmake: *** [all] Error 2
    makefile:135: recipe for target 'all' failed

    **** Build Finished ****

    Warnings

    Description    Resource    Path    Location    Type
    #10097 memory range not found: EXT_RAM on page 0    linker.cmd    /spiLoopBack/Debug/configPkg    line 155    C/C++ Problem
    #10097 memory range not found: EXT_RAM on page 0    linker.cmd    /spiLoopBack/Debug/configPkg    line 167    C/C++ Problem
    #10097 memory range not found: EXT_RAM on page 0    linker.cmd    /spiLoopBack/Debug/configPkg    line 179    C/C++ Problem
    #10097 memory range not found: EXT_RAM on page 0    linker.cmd    /spiLoopBack/Debug/configPkg    line 183    C/C++ Problem
    Build-variable 'PDK_INSTALL_PATH' cannot be resolved. This project may not build as expected.    spiLoopBack        properties    Problem
    Invalid project path: Include path not found (/ti/drv/spi).    spiLoopBack        pathentry    Path Entry Problem

    Current Compiler Options

    -mv6600 --include_path="${COM_TI_OMP_INCLUDE_PATH}" --include_path="${COM_TI_PDK_INCLUDE_PATH}" --include_path="${COM_TI_CTOOLSLIB_INCLUDE_PATH}" --include_path="${COM_TI_EDMA3_LLD_INCLUDE_PATH}" --include_path="${COM_TI_FRAMEWORK_COMPONENTS_INCLUDE_PATH}" --include_path="${COM_TI_IMGLIB_C66X_INCLUDE_PATH}" --include_path="${COM_TI_IPC_INCLUDE_PATH}" --include_path="${COM_TI_NDK_INCLUDE_PATH}" --include_path="${COM_TI_BIOS_INCLUDE_PATH}" --include_path="${COM_TI_UIA_INCLUDE_PATH}" --include_path="${COM_TI_XDAIS_INCLUDE_PATH}" --include_path="${PROJECT_ROOT}" --include_path="${PDK_INSTALL_PATH}/ti/drv/spi" --include_path="${CG_TOOL_ROOT}/include" --define=${COM_TI_OMP_SYMBOLS} --define=${COM_TI_PDK_SYMBOLS} --define=${COM_TI_CTOOLSLIB_SYMBOLS} --define=${COM_TI_EDMA3_LLD_SYMBOLS} --define=${COM_TI_FRAMEWORK_COMPONENTS_SYMBOLS} --define=${COM_TI_IMGLIB_C66X_SYMBOLS} --define=${COM_TI_IPC_SYMBOLS} --define=${COM_TI_NDK_SYMBOLS} --define=${COM_TI_BIOS_SYMBOLS} --define=${COM_TI_UIA_SYMBOLS} --define=${COM_TI_XDAIS_SYMBOLS} --define=am5748 --define=core1 --define=SOC_AM574x --define=idkAM574x --define=USE_BIOS --define=C66X --define=MCSPI_MULT_CHANNEL -g --diag_suppress=1111 --diag_suppress=827 --diag_suppress=824 --diag_suppress=837 --diag_suppress=1037 --diag_suppress=195 --diag_suppress=77 --diag_suppress=232 --diag_warning=225 --diag_warning=994 --diag_warning=262 --diag_wrap=off --display_error_number --entry_hook=ti_utils_entry --exit_hook=ti_utils_exit --entry_parm=address --exit_parm=address

    Project is shared in the below link

    industronnano-my.sharepoint.com/.../EvbrDWgqanxJqLfl-DgyVZMBM6Mai8M9j2_y-EottVEvjw

  • Hi Arun,

    You don't really need to create a new project. You can actually import these example projects from PDK.

    Please refer to the documentation:
    https://software-dl.ti.com/processor-sdk-rtos/esd/AM57X/08_01_00_09/exports/docs/rtos/index_overview.html#pdk-example-and-test-project-creation

    Regards,
    Parth

  • Hi Parth,

    Thank you for the reply. I was trying to build the individual application using CCS with the help of Exampleproject.txt contents. I will try to build the pdk example library and get back to you with the update.

    Regards,

    Arun

  • Hello Parth,

    I was able to build the pdk library and create the example projects using the pdkProjectCreate.sh scripts. I had to modify the ccs version in the script.I have imported the project using CCS>File>Import>Code Composer Studio>CCS Projetcs and build the project.

    Build log given below:

    **** Clean-only build of configuration Debug for project MCSPI_Loopback_idkAM574x_c66xExampleProject ****

    /home/indstron/ti/ccs1040/ccs/utils/bin/gmake -k -j 8 clean -O
     
    rm -rf  "MCSPI_Loopback_idkAM574x_c66xExampleProject.hex"  "configPkg/linker.cmd" "configPkg/compiler.opt"  "MCSPI_Loopback_idkAM574x_c66xExampleProject.out"
    rm -rf "mcspiLoopbackApp.obj"
    rm -rf "mcspiLoopbackApp.d"
    rm -rf  "configPkg/"
    Finished clean
     

    **** Build Finished ****

    **** Build of configuration Debug for project MCSPI_Loopback_idkAM574x_c66xExampleProject ****

    /home/indstron/ti/ccs1040/ccs/utils/bin/gmake -k -j 8 all -O
     
    Building file: "/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/ti/drv/spi/example/mcspiLoopbackApp/am574x/c66/bios/mcspi_loopback_c66_idkAM574x.cfg"
    Invoking: XDCtools
    "/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/xdctools_3_55_02_22_core/xs" --xdcpath="/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/bios_6_76_03_01/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/edma3_lld_2_12_05_30E/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/ipc_3_50_04_08/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/ndk_3_61_01_01/packages;/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/uia_2_30_01_02/packages;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66 -p ti.platforms.idkAM572X -r debug -c "/home/indstron/ti/ccs1040/ccs/tools/compiler/ti-cgt-c6000_8.3.10" "/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/ti/drv/spi/example/mcspiLoopbackApp/am574x/c66/bios/mcspi_loopback_c66_idkAM574x.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring mcspi_loopback_c66_idkAM574x.xe66 from package/cfg/mcspi_loopback_c66_idkAM574x_pe66.cfg ...
         SoC Type is am574x
         SoC Type is am574x
    generating custom ti.sysbios library makefile ...
        Linking with library ti.board:./lib/idkAM574x/c66/release/ti.board.ae66
        Linking with library ti.drv.i2c:./lib/am574x/c66/release/ti.drv.i2c.ae66
        Linking with library ti.drv.uart:./lib/am574x/c66/release/ti.drv.uart.ae66
        Linking with library ti.drv.spi:./lib/am574x/c66/release/ti.drv.spi.profiling.ae66
        Linking with library ti.drv.gpio:./lib/c66/release/ti.drv.gpio.ae66
        Linking with library ti.osal:./lib/tirtos/c66/release/ti.osal.ae66
        Linking with library ti.utils.profiling:./lib/c66/release/ti.utils.profiling.ae66
        Linking with library ti.csl:./lib/am574x/c66/release/ti.csl.ae66
    Starting build of library sources ...
    making /home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/ti/drv/spi/example/mcspiLoopbackApp/am574x/c66/bios/src/sysbios/sysbios.ae66 ...
    Build of libraries done.
    cle66 package/cfg/mcspi_loopback_c66_idkAM574x_pe66.c ...
    Finished building: "/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/ti/drv/spi/example/mcspiLoopbackApp/am574x/c66/bios/mcspi_loopback_c66_idkAM574x.cfg"
     
    Building file: "/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/ti/drv/spi/example/mcspiLoopbackApp/src/mcspiLoopbackApp.c"
    Invoking: C6000 Compiler
    "/home/indstron/ti/ccs1040/ccs/tools/compiler/ti-cgt-c6000_8.3.10/bin/cl6x" -mv6600 --include_path="/home/indstron/workspace_v10/MCSPI_Loopback_idkAM574x_c66xExampleProject" --include_path="/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/ti/drv/spi" --include_path="/home/indstron/ti/ccs1040/ccs/tools/compiler/ti-cgt-c6000_8.3.10/include" --define=USE_BIOS --define=SOC_AM574x --define=idkAM574x --define=C66X --define=MCSPI_MULT_CHANNEL -g --diag_suppress=1111 --diag_suppress=827 --diag_suppress=824 --diag_suppress=837 --diag_suppress=1037 --diag_suppress=195 --diag_suppress=77 --diag_suppress=232 --diag_warning=225 --diag_warning=994 --diag_warning=262 --diag_wrap=off --display_error_number --entry_hook=ti_utils_entry --exit_hook=ti_utils_exit --entry_parm=address --exit_parm=address --preproc_with_compile --preproc_dependency="mcspiLoopbackApp.d_raw" --cmd_file="configPkg/compiler.opt"  "/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/ti/drv/spi/example/mcspiLoopbackApp/src/mcspiLoopbackApp.c"
    Finished building: "/home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/ti/drv/spi/example/mcspiLoopbackApp/src/mcspiLoopbackApp.c"
     
    Building target: "MCSPI_Loopback_idkAM574x_c66xExampleProject.out"
    Invoking: C6000 Linker
    "/home/indstron/ti/ccs1040/ccs/tools/compiler/ti-cgt-c6000_8.3.10/bin/cl6x" -mv6600 --define=USE_BIOS --define=SOC_AM574x --define=idkAM574x --define=C66X --define=MCSPI_MULT_CHANNEL -g --diag_suppress=1111 --diag_suppress=827 --diag_suppress=824 --diag_suppress=837 --diag_suppress=1037 --diag_suppress=195 --diag_suppress=77 --diag_suppress=232 --diag_warning=225 --diag_warning=994 --diag_warning=262 --diag_wrap=off --display_error_number --entry_hook=ti_utils_entry --exit_hook=ti_utils_exit --entry_parm=address --exit_parm=address -z -m"MCSPI_Loopback_idkAM574x_c66xExampleProject.map" -i"/home/indstron/ti/ccs1040/ccs/tools/compiler/ti-cgt-c6000_8.3.10/lib" -i"/home/indstron/ti/ccs1040/ccs/tools/compiler/ti-cgt-c6000_8.3.10/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="MCSPI_Loopback_idkAM574x_c66xExampleProject_linkInfo.xml" --rom_model -o "MCSPI_Loopback_idkAM574x_c66xExampleProject.out" "./mcspiLoopbackApp.obj" -l"configPkg/linker.cmd"  -llibc.a
    <Linking>
    Finished building target: "MCSPI_Loopback_idkAM574x_c66xExampleProject.out"
     
    /home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages/pdkAppImageCreate.sh /home/indstron/ti-processor-sdk-rtos-am57xx-evm-06.03.00.106/pdk_am57xx_1_0_17/packages /home/indstron/ti/ccs1040/ccs/tools/compiler/ti-cgt-c6000_8.3.10 /home/indstron/workspace_v10/MCSPI_Loopback_idkAM574x_c66xExampleProject/Debug MCSPI_Loopback_idkAM574x_c66xExampleProject AM574x dsp
    /home/indstron/workspace_v10/MCSPI_Loopback_idkAM574x_c66xExampleProject/Debug exists
    /ti/boot/sbl/binary/testApp does not exists
    /ti/boot/sbl/binary/testApp does not exists
    /ti/boot/sbl/binary/testApp does not exists
    /ti/boot/sbl/binary/testApp does not exists
    /ti/boot/sbl/binary/testApp does not exists
    /ti/boot/sbl/binary/testApp does not exists
    Parsing the input object file, /home/indstron/workspace_v10/MCSPI_Loopback_idkAM574x_c66xExampleProject/Debug/MCSPI_Loopback_idkAM574x_c66xExampleProject.out.
    File conversion complete!
    WARNING: The runtime version supported by this application is unavailable.
    Using default runtime: v4.0.30319
    /ti/boot/sbl/binary/testApp does not exists
    Number of Input Files 1
     
    **** Build Finished ****

    Now,

    1. To run the project, whether I can run the project from Linux user space? Or Shall I use the Debugger to load the program to DSP?

    2. I am tryig to run the MCSPIloppBack Example, here how can I change the the SPI and UART to the one I want?

    I am using the Criticallink MitySOM AM57F Devkit and UART3 is used for Linux terminal

    Regards,

    Arun

  • Hi Arun,

    You can change the UART instance for logs by changing the BOARD_UART_INSTANCE in Board_uartstdioInit in idkAM574x_lld_init.c

    To run the project, whether I can run the project from Linux user space? Or Shall I use the Debugger to load the program to DSP?

    I would suggest first you make all the required changes and then run it in a standalone environment (without Linux, with ccs) and make sure that the application is running without crashing anywhere.

    Once that is validated we can move to run it with Linux

    Regards,
    Parth

  • Hi Parth,

    Thank for the reply.

    As I said before, I have imported the MCSPI_loopBack example to CCS and build the application without making any changes.

    Then 

    1. Target Configuration > User_defined>Launch Selected Configuration

    2. Selected A15_core0 and connect to the target. (Connection success)

    3. Selected AM572x_Multicore_reset GEL file

    4. Scripts>AM572X MULTICRE Initialisation>DSP1SCLKEnable_API selected  (DSP1SS Initialisation Done)

    5. Selected C66xx_DSP1 and connect

    6. Run>Load>Load Program and selected the output file. 

    But error still presists.

    C66xx_DSP1: File Loader: Verification failed: Values at address 0x800A3400 do not match Please verify target memory and memory map.
    C66xx_DSP1: GEL: File: /home/indstron/workspace_v10/MCSPI_loopback_idkAM574x_c66_ExampleProject/Debug/MCSPI_loopback_idkAM574x_c66_ExampleProject: a data verification error occurred, file load failed. 

    I have used the command ./pdkProjectCreate.sh AM574x all little spi all dsp to create the example project under pdk/packages/MyExampleProjects

    Your support in solving this issue is highly appreciated.

    Regards,

    Arun

  • Hi Arun,

    C66xx_DSP1: File Loader: Verification failed: Values at address 0x800A3400 do not match Please verify target memory and memory map.

    You are using a custom board right? Is the DDR same as that of TI IDK board or is it different?

    Also, can you please quickly check if you are able to load the same application for any other core?

    Regards,
    Parth

  • Hi Parth,

    Thanks you for the reply.

    I am able to load a rtos_template_app with IPC 

    https://support.criticallink.com/redmine/projects/mitysom_am57x/wiki/Adding_IPC_to_TI_RTOS_template_app_with_CCS.

    How ever, I am unable to load any other applications to DSP.  (even the template app before adding IPC)

    Regards,

    Arun

  • Hello Parth,

    Any update to this?

    Regards,

    Arun

  • Hi Arun,

    Apologies for delay on this. Is support still required on this issue? If yes, can you please state the current status of the issue.

    Regards,
    Parth

  • Hi Parth,

    The issue is still open.

    I have used the command ./pdkProjectCreate.sh AM574x all little spi all dsp to create the example project under pdk/packages/MyExampleProjects (software-dl.ti.com/.../index_overview.html
    and then import those project to the CCS and build it.
    But while trying to load the program to the dsp, (by creating the symbolic link and then enable the firmware from linux userspace by unbind-bind); the DSP is shown as offline while checking the state via cat /sys/class/remoteproc/remoteproc*/state.

    root@mitysom-am57x:~# ls -al /lib/firmware/
    total 74232
    drwxr-xr-x  4 root root     4096 Feb  9 09:57 .
    drwxr-xr-x 10 root root     4096 Dec 20 09:47 ..
    -rw-r--r--  1 root root     2046 Dec 20 08:37 LICENCE.iwlwifi_firmware
    lrwxrwxrwx  1 root root       30 Feb  9 09:57 dra7-dsp1-fw.xe66 -> /home/root/MCSPI_Loopback.xe66
    -rw-rw-r--  1 root root 20573508 Dec 19 10:33 dra7-dsp1-fw.xe66.opencl-monitor
    lrwxrwxrwx  1 root root       46 Dec 20 09:53 dra7-dsp2-fw.xe66 -> /lib/firmware/dra7-dsp2-fw.xe66.opencl-monitor
    -rw-rw-r--  1 root root 20573508 Dec 19 10:33 dra7-dsp2-fw.xe66.opencl-monitor
    lrwxrwxrwx  1 root root       46 Dec 20 09:53 dra7-ipu1-fw.xem4 -> /lib/firmware/dra7-ipu1-fw.xem4.opencl-monitor
    -rw-rw-r--  1 root root  6916676 Dec 20 06:17 dra7-ipu1-fw.xem4.opencl-monitor
    -rw-r--r--  1 root root   918268 Dec 20 08:37 iwlwifi-3160-17.ucode
    -rw-r--r--  1 root root  1745176 Dec 20 08:37 iwlwifi-8000C-13.ucode
    -rw-r--r--  1 root root  2351636 Dec 20 08:37 iwlwifi-8000C-16.ucode
    -rw-r--r--  1 root root  2394060 Dec 20 08:37 iwlwifi-8000C-21.ucode
    -rw-r--r--  1 root root  2120860 Dec 20 08:37 iwlwifi-8000C-22.ucode
    -rw-r--r--  1 root root  2227284 Dec 20 08:37 iwlwifi-8000C-27.ucode
    -rw-r--r--  1 root root  2310116 Dec 20 08:37 iwlwifi-8000C-31.ucode
    -rw-r--r--  1 root root  2448976 Dec 20 08:37 iwlwifi-8000C-34.ucode
    -rw-r--r--  1 root root  2486572 Dec 20 08:37 iwlwifi-8000C-36.ucode
    -rw-r--r--  1 root root  2389968 Dec 20 08:37 iwlwifi-8265-21.ucode
    -rw-r--r--  1 root root  1811984 Dec 20 08:37 iwlwifi-8265-22.ucode
    -rw-r--r--  1 root root  2234528 Dec 20 08:37 iwlwifi-8265-27.ucode
    -rw-r--r--  1 root root  2307104 Dec 20 08:37 iwlwifi-8265-31.ucode
    -rw-r--r--  1 root root  2440780 Dec 20 08:37 iwlwifi-8265-34.ucode
    -rw-r--r--  1 root root  2498044 Dec 20 08:37 iwlwifi-8265-36.ucode
    -rw-r--r--  1 root root     4196 Dec 20 08:30 regulatory.db
    -rw-r--r--  1 root root     1182 Dec 20 08:30 regulatory.db.p7s
    drwxr-xr-x  2 root root     4096 Dec 20 09:43 ti-connectivity
    drwxr-xr-x  2 root root     4096 Dec 20 05:33 ti-pruss
    -rw-r--r--  1 root root     4002 Dec 20 05:33 vpdma-1b8.bin
    root@mitysom-am57x:~# cat /sys/class/remoteproc/remoteproc*/state
    running
    offline
    suspended
    suspended
    offline
    offline
    running
    running
    root@mitysom-am57x:~# echo 40800000.dsp > /sys/bus/platform/drivers/omap-rproc/unnbind
    [  416.640279] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
    [  416.646175] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
    [  416.657291] remoteproc remoteproc2: failed to unmap 1048576/0
    root@mitysom-am57x:~# echo 40800000.dsp > /sys/bus/platform/drivers/omap-rproc/bind
    [  424.480155] omap-rproc 40800000.dsp: ignoring dependency for device, assuming no driver
    [  424.488387] omap-rproc 40800000.dsp: ignoring dependency for device, assuming no driver
    [  424.496676] omap-rproc 40800000.dsp: assigned reserved memory node dsp1-memory@99000000
    [  424.504916] remoteproc remoteproc2: 40800000.dsp is available
    root@mitysom-am57x:~# [  424.514602] remoteproc remoteproc2: powering up 40800000.dsp
    [  424.521374] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 3365156
    [  424.529332] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
    root@mitysom-am57x:~# cat /sys/class/remoteproc/remoteproc*/state                    
    running
    offline
    offline
    suspended
    offline
    offline
    running
    running

  • Hi,

    You are using a custom board right? Is the DDR same as that of TI IDK board or is it different?

    Could you please tell me if you are using TI DDR or custom DDR?

    Regards,

    Karthik