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.

Linux/TDA2PXEVM: run vision sdk demo on the tda2px board fail

Part Number: TDA2PXEVM
Other Parts Discussed in Thread: PGA460

Tool/software: Linux

hi all,

i run an vision sdk demo on the tda2px board but sometime fail, i just use A15 and IPU2 core. log as following:

HOST]  OSA: MEM: 0: Mapped 0xa0100000 to 0xa6ffa000 of size 0x00100000

[HOST]  OSA: MEM: 1: Mapped 0x84203000 to 0x9f5fa000 of size 0x07a00000

[HOST]  OSA: MEM: 2: Mapped 0xa0200000 to 0xa7d1c000 of size 0x00040000

[HOST]  OSA: MEM: 3: Mapped 0xa02c0000 to 0x9f57a000 of size 0x00080000

[HOST]  OSA: MEM: 4: Mapped 0x00000000 to 0x00000000 of size 0x00000000

[HOST]  OSA: HOST Remote Log Shared Memory @ 0xa024f140

[HOST]  OSA: IPU2 Remote Log Shared Memory @ 0xa0363da0

ASSERT (system_ipc.c|System_ipcInit|119)

[HOST] [HOST  ]   1417.277343 s:  SYSTEM: System A15 Init in progress !!!

[HOST] [HOST  ]   1417.277404 s:  SYSTEM: IPC: Init in progress !!!

[HOST] [HOST  ]   1417.277404 s:  SYSTEM: IPC: Notify init in progress !!!

[HOST] [HOST  ]   1417.277496 s:  SYSTEM: IPC: [IPU2] socket bind failed (Invalid argument, 22) !!!

[HOST] [HOST  ]   1417.277557 s:  SYSTEM: IPC: [IPU2] Notify RX channel create failed (endpoint = 81) !!!

can you help me find out the problem?

  • Hi,

    can you give some more details: which version is your VisionSDK, did you made any changes?

    Regards,
    Yordan
  • hi yordan,
    The version is 0304, we just change the use case, the errro "[IPU2] socket bind failed (Invalid argument, 22) !!!" , i think this is the IPC problem.
  • Hi,

    What all changes have you done in SDK?
    Please try to build a fresh SDK and And disable all core except IPU2 and A15 and try once.

    If you are not modifying anything inside the core links_fw then this issue should not arise.

    Regards,
    Anuj
  • hi Anuj:
    this is our config:

    $ make -s showconfig
    #
    # Build Config is [ tda2px_evm_linux_all ]
    # Build Config file is @ /home/cfan5/projects/android/6AO.1.1/visionSDK_0304/vision_sdk/configs/tda2px_evm_linux_all/cfg.mk
    # Build Config .h file is @ /home/cfan5/projects/android/6AO.1.1/visionSDK_0304/vision_sdk/links_fw/include/config/apps/tda2px_evm_linux_all/system_cfg.h
    # Build CPUs is @ ipu2 a15_0
    #
    # CPUs included in application,
    # PROC_IPU1_0_INCLUDE=no
    # PROC_IPU1_1_INCLUDE=no
    # PROC_IPU2_INCLUDE=yes
    # PROC_DSP1_INCLUDE=no
    # PROC_DSP2_INCLUDE=no
    # PROC_EVE1_INCLUDE=no
    # PROC_EVE2_INCLUDE=no
    # PROC_EVE3_INCLUDE=no
    # PROC_EVE4_INCLUDE=no
    # PROC_A15_0_INCLUDE=yes
    #
    # Platform config,
    # VSDK_BOARD_TYPE=TDA2PX_EVM [options: TDA2XX_EVM TDA2EX_EVM TDA3XX_EVM TDA3XX_RVP TDA2XX_RVP]
    # PLATFORM=tda2px-evm
    # DUAL_A15_SMP_BIOS=no
    # IPU1_SMP_BIOS=no
    # DDR_MEM=DDR_MEM_1024M [options: DDR_MEM_128M DDR_MEM_512M DDR_MEM_1024M]
    # EMIFMODE=SINGLE_EMIF_512MB [options: SINGLE_EMIF_512MB SINGLE_EMIF_1GB ref build_pdk.mk]
    # NDK_PROC_TO_USE=none [options: a15_0 ipu1_0 ipu1_1 ipu2 none]
    # NSP_TFDTP_INCLUDE=no [options: yes no]
    # TDA2EX_ETHSRV_BOARD=no [options: yes no]
    # FATFS_PROC_TO_USE=none [options: ipu1_0 none]
    # RADAR_BOARD=none [options: TDA3XX_AR12_ALPS TDA3XX_AR12_VIB_DAB_BOOSTER TDA3XX_RADAR_RVP none]
    #
    # Build config,
    # BUILD_OS=Linux [options: Windows_NT Linux]
    # BUILD_DEPENDENCY_ALWAYS=no
    # BUILD_ALGORITHMS=no
    # BUILD_INFOADAS=no
    # PROFILE=release [options: debug release]
    # KW_BUILD=no
    # CPLUSPLUS_BUILD=no
    # IPU_PRIMARY_CORE=ipu2 [options: ipu1_0 ipu2]
    # IPU_SECONDARY_CORE=ipu1_0 [options: ipu1_0 ipu2]
    # A15_TARGET_OS=Linux [options: Bios Linux Qnx]
    # BSP_STW_PACKAGE_SELECT=all [options: all vps-iss-dss-only vps-vip-vpe]
    #
    # Safety Module config,
    # RTI_INCLUDE=no
    # ECC_FFI_INCLUDE=no
    # DCC_ESM_INCLUDE=no
    #
    # Video Module config,
    # IVAHD_INCLUDE=yes
    # VPE_INCLUDE=yes
    # CAL_INCLUDE=no
    # ISS_INCLUDE=no
    # ISS_ENABLE_DEBUG_TAPS=no
    # WDR_LDC_INCLUDE=no
    # DSS_INCLUDE=yes
    #
    # Open Compute config,
    # OPENCL_INCLUDE=no
    # TARGET_ROOTDIR=/home/cfan5/projects/android/6AO.1.1/mydroid
    # ENABLE_OPENCV=no
    # ENABLE_OPENCV_TESTS=no
    # OPENVX_INCLUDE=no
    #
    # Log config,
    # ENABLE_UART_LOG=yes
    # ENABLE_NETWORK_LOG=no
    # ENABLE_CCS_LOG=no
    # CIO_REDIRECT=yes
    #
    # IPC config,
    # WORKQ_INCLUDE=no
    # IPC_LIB_INCLUDE=no
    #
    # Surround View config,
    # SRV_FAST_BOOT_INCLUDE=no
    #
    # Other Module config,
    # AVB_INCLUDE=no
    # DCAN_INCLUDE=no
    # RADAR_ONLY=no
    # CPU_IDLE_ENABLED=yes
    # FAST_BOOT_INCLUDE=no
    # DATA_VIS_INCLUDE=no
    # HS_DEVICE=no
    # ULTRASONIC_INCLUDE=no
    # PGA450=no
    # PGA460=no
    # ENABLE_ALL_DEPTH=no
    #
    # Linux config,
    # DEFAULT_UBOOT_CONFIG=dra7xx_evm_vision_config
    # DEFAULT_KERNEL_CONFIG=ti_sdk_dra7x_release_defconfig
    # DEFAULT_DTB=dra76-evm-infoadas.dtb
    # CMEM_INCLUDE=yes
    # IPUMM_INCLUDE=no
    # IPU1_EVELOADER_INCLUDE=no
    # ROBUST_RVC_INCLUDE=no
    # BUILD_ADAM_CAR=no
    #
    # Alg plugins included in build,
    #
    #
    # Use-cases included in build,
    # UC_disp_dist_src_display_android_no_cap
    #
    #
    # CPUs that are NOT required but included in config [ tda2px_evm_linux_all ],
    #
    #
    # CPUs that are required but not included in config [ tda2px_evm_linux_all ],
    #
    # ERROR: IPU1_0 MUST be included in application
    #
    # Edit /home/cfan5/projects/android/6AO.1.1/visionSDK_0304/vision_sdk/build/configs/tda2px_evm_linux_all/cfg.mk to include or exclude CPUs in an application


    and we also change the apps/build/tda2px/mem_segment_definition_linux.xs file:

    /*
    * ======== mem_segment_definition.xs ========
    * ======== Single file for the memory map configuration of all cores =========
    */

    KB=1024;
    MB=KB*KB;

    /* Allocation of cores' internal memory resources */
    DSP1_L2_SRAM_ADDR = 0x40800000;
    DSP1_L2_SRAM_SIZE = 288*KB;

    DSP2_L2_SRAM_ADDR = 0x41000000;
    DSP2_L2_SRAM_SIZE = 288*KB;

    EVE1_SRAM_ADDR = 0x42000000;
    EVE1_SRAM_SIZE = 1*MB;

    EVE2_SRAM_ADDR = 0x42100000;
    EVE2_SRAM_SIZE = 1*MB;

    /* DDR3 Memory map 1.5GB */
    /*************************
    Required-by Size Address Used-for Cacheable
    A15-Linux 64MB 0x80000000
    SR1 + NDK , 128MB 0x84000000 SR1+NDK Yes to All cores
    IPU2-Bios 80MB 0x99000000 Vision-SDK FWK (12 MB Hole)
    IPU1-Bios 32MB 0x9e000000 IPU2 Core Yes to IPU1
    DSP1-Bios 64MB 0xA1000000 RADIO (+ Analytic algos) 16MB non-cacheable - required by RADIO
    DSP2-Bios 32MB 0xA3000000 SRV Algos Yes to DSP2
    A15, IPU1/2, DSP1/2 32MB 0xA0000000 SR0 No to All cores
    EVE 64MB 0xA5000000
    SR2_BASE_ADDR 0xA9000000
    A15-Linux 0xC0000000(End of Interleaving)
    *************************/
    DDR3_ADDR = 0x80000000;
    DDR3_SIZE = 1024*MB;
    DDR3_LINUX_MEM_OFFSET = 64*MB;

    /* Address and Size definitions of different components running on different cores */
    NDK_START_ADDR = DDR3_BASE_ADDR_0 + DDR3_LINUX_MEM_OFFSET;
    NDK_MEM_SIZE = 2*MB
    SR1_FRAME_BUFFER_SIZE = 122*MB;
    SR1_BUFF_ECC_ASIL_SIZE = 4*KB;
    SR1_BUFF_ECC_QM_SIZE = 4*KB;
    SR1_BUFF_NON_ECC_ASIL_SIZE = 4*KB;



    Are there exist any problem?
  • Hi,

    Have you modified your dtb name to dra76-evm-infoadas.dtb in uenv.txt file.

    Regards,
    Anuj
  • hi Anuj,
    i wonder to know where is the uenv.txt, the uboot dir? kernel dir? visionSdk dir?
  • Hi,

    It will be available in the boot partition of your sd card where MLO will be placed.

    Regards,
    Anuj
  • hi Anuj,
    thanks, now we not boot from SD card, so not use uenv.txt file.
  • Hi,

    Then how are you booting?

    Regards,
    Anuj
  • hi,
    we boot system from EMMC,
    first load uboot from EMMC, then uboot load Kernel, we through setting the kernel dts file to load the M4 firmware. then run apps.out .
  • Hi,

    can you try with sd boot.
    It will confirm whether any issue is there in booting mode or somewhere in code.

    Regards,
    Anuj
  • hi,
    sorry, our board hasn't SD card slot, it is very strange just sometime running occur this failure. maybe this error is relate to socket driver?
  • Hi,

    Can you step in through the code and check where exactly its going wrong.
    Please check inside System_ipcNotifyInit().

    Regards,
    Anuj
  • hi Anuj,
    From the log "ASSERT (system_ipc.c|System_ipcInit|119)" i know where it was gone wrong exactly, but i don't konw why and how to repair this error:

    if(channelType == SYSTEM_RPMSG_RX_CHANNEL)
    {
    len = sizeof(struct sockaddr_rpmsg);
    err = bind(fd, (struct sockaddr *)&rpmsg_addr, len);
    if (err >= 0) {
    Vps_printf(" SYSTEM: IPC: [%s] socket bind success !!!"
    " (dst vproc = %d, endpt = %d)\n",
    System_getProcName(procId),
    rpmsg_addr.vproc_id,
    rpmsg_addr.addr);
    }
    else
    {
    Vps_printf(" SYSTEM: IPC: [%s] socket bind failed (%s, %d) !!!\n",
    System_getProcName(procId), strerror(errno), errno);

    return -1;
    }
    }

    why bind() socket return invalid argument error?

  • Hi,

    Where is this piece of code.
    Have you added this by yourself?

    Regards,
    Anuj
  • hi,
    no, i didn't add any code, it is the code of System_ipcCreateChannel() API in system_ipc.c in the path of /vision_sdk/links_fw/system.
  • Hi,

    Can you enable any DSP core and check whether for DSP you are getting this bind error failure?

    Regards,
    Anuj
  • Hi,

    Its been long since any update on this thread.
    I hope the issue is resolved.

    Regards,
    Anuj
  • Hi,

    Is there any update on this thread?

    Regards,
    Anuj
  • hi Anuj,
    I guess this problem is caused by sometime the M4 firmware not load success from EMMC and fimware not run on IPU, so in A15 size, app.out IPC init fail. i will track this problem for my guess.
    best regards!
  • Hi,

    Okay, keep us informed.

    Regards,
    Anuj
  • Hi,

    I hope the issue is resolved.

    Regards,
    Anuj