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.

TDA2PXEVM: Save Display Frame on running Surround view application

Part Number: TDA2PXEVM
Other Parts Discussed in Thread: PGA460

What should I do for "Save Display Frame on running Surround view application"?

I`d like to try "Save Display Frame to MMC/SD card" on running Surround view Chain with OV2775

I know that option is available on Calibration menu, so I opened source and took <saveDisFrame.c> to use the function 'chains_saveDisFrame()' and build,

I took all header for saveDisFrame.c  but I faced with this error -> error: unknown type name ‘BspOsal_SemHandle’

What should I do?

++ I found ISS calibration menu is not support Display Frame Save option ( It only says "\nUnsupported option '%c'. Please try again\n" )

 anyway.. please give some advice :(

Thank you

  • Hi,

    Can you share the following details?

    1) Vision SDK version

    2) output of "gmake -s showconfig"

    3) Mention the use-case name

    Thanks

    Gaviraju

  • 1) vision SDK version : 03_08

    2) try gmake -s showconfig

    => Command 'gmake' not found, but there are 14 similar ones.

    so I try just "make -s showconfig"

    myname@myname:~/sdkvision/vision_sdk/build$ make -version
    GNU Make 4.1
    Built for x86_64-pc-linux-gnu
    Copyright (C) 1988-2014 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

     => this is my make version

    myname@myname:~/sdkvision/vision_sdk/build$ make -s showconfig
    #
    # Build Config is [ tda2px_evm_linux_all ]
    # Build Config file is @ /home/myname/sdkvision/vision_sdk/configs/tda2px_evm_linux_all/cfg.mk
    # Build Config .h file is @ /home/myname/sdkvision/vision_sdk/links_fw/include/config/apps/tda2px_evm_linux_all/system_cfg.h
    # Build CPUs is @ ipu2 a15_0 dsp1 dsp2 eve1 eve2
    #
    # CPUs included in application,
    # PROC_IPU1_0_INCLUDE=no
    # PROC_IPU1_1_INCLUDE=no
    # PROC_IPU2_INCLUDE=yes
    # PROC_DSP1_INCLUDE=yes
    # PROC_DSP2_INCLUDE=yes
    # PROC_EVE1_INCLUDE=yes
    # PROC_EVE2_INCLUDE=yes
    # 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=yes
    # ISS_INCLUDE=yes
    # ISS_ENABLE_DEBUG_TAPS=no
    # WDR_LDC_INCLUDE=no
    # DSS_INCLUDE=yes
    #
    # Open Compute config,
    # OPENCL_INCLUDE=no
    # TARGET_ROOTDIR=/home/myname/sdkvision/vision_sdk/../ti_components/os_tools/linux/targetfs
    # 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
    #
    # AUTOSAR_APP=no
    #
    # Surround View config,
    # SRV_FAST_BOOT_INCLUDE=no
    #
    # Other Module config,
    # AVB_INCLUDE=no
    # DCAN_INCLUDE=no
    # RADAR_ONLY=no
    # RADAR_STUDIO=no
    # CPU_IDLE_ENABLED=yes
    # FAST_BOOT_INCLUDE=no
    # DATA_VIS_INCLUDE=no
    # HS_DEVICE=no
    # ULTRASONIC_INCLUDE=yes
    # PGA450=no
    # PGA460=yes
    # ENABLE_ALL_DEPTH=yes
    #
    # 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=yes
    # ROBUST_RVC_INCLUDE=no
    # BUILD_ADAM_CAR=no
    #
    # Alg plugins included in build,
    # ALG_autocalibration ALG_dmaSwMs ALG_framecopy ALG_sceneobstruction ALG_surroundview ALG_iss_aewb
    #
    # Use-cases included in build,
    # UC_iss_capture_isp_simcop_display UC_srv_calibration UC_lvds_vip_multi_cam_3d_srv UC_csi2Cal_multi_cam_3d_srv UC_csi2Cal_multi_cam_view UC_lvds_vip_multi_cam_view_sgx_display UC_vip_single_cam_connectorLinksA15_sgx_display UC_vip_single_cam_enc_dec_sgx_display UC_vip_single_cam_framecopy_sgx_display UC_vip_single_cam_framecopyEve_sgx_display UC_vip_single_cam_sgx_display UC_iss_multi_cam_isp_sgx_3d_srv_display UC_iss_multi_cam_isp_sgx_2mp_3d_srv UC_iss_multi_cam_isp_sgx_2mp_3d_srv_adaptive
    #
    #
    # CPUs that are NOT required but included in config [ tda2px_evm_linux_all ],
    #
    # WARNING: DSP2 can be excluded from application
    # WARNING: EVE2 can be excluded from application
    #
    # CPUs that are required but not included in config [ tda2px_evm_linux_all ],
    #
    # ERROR: IPU1_0 MUST be included in application
    #
    # Edit /home/myname/sdkvision/vision_sdk/apps/configs/tda2px_evm_linux_all/cfg.mk to include or exclude CPUs in an application
    #

    3) I used

    vision_sdk/apps/src/rtos/usecases/srv_calibration/

    and

    vision_sdk/apps/src/rtos/usecases/iss_multi_cam_isp_sgx_2mp_3d_srv/

  • Hi,

    From the configuration, I came to know that;

    1) MAKECONFIG = tda2px_evm_linux_all,  so Linux is running on the A15 & you should use the use-case defined under hlos directory.

    Path: vision_sdk/apps/src/hlos/adas/src/usecases/iss_multi_cam_isp_sgx_2mp_3d_srv

              vision_sdk/apps/src/hlos/adas/src/usecases/srv_calibration

              

    vision_sdk/apps/src/rtos/usecases/iss_multi_cam_isp_sgx_2mp_3d_srv/ & vision_sdk/apps/src/rtos/usecases/srv_calibration/,  these use-case defined under rtos directory & these are rtos use-case.

     

    To Save Display Frame to MMC/SD card, this can be done in two ways.

    Method 1:  Add Null link before the display link

    Method 2:  Port the use-case "vision_sdk/apps/src/rtos/usecases/saveDisFrame" from RTOS to HLOS. After porting the use-case, you can invoke the function "chains_saveDisFrame()" to save the Display frame.

     

    Thanks

    Gaviraju

                      

     

     

     

     

     

  • thanks for your help!

    But still.. I have problem on port from RTOS use-case to HLOS use-case.

    They have different functions and Synthesis.. so it is hard to make my own cord

    Is there any tools that help switch RTOS <-> HLOS codes?

  • Hi,

    There is no tool to convert the use-case from RTOS to HLOS & you have to do manually. Mainly files operation(read, write, open, close), semaphore, etc function call needs to change in the use-case.

    Thanks

    Gaviraju