Spaces:

arjun.a
range data
5aefcf4
Ticket Name: DRA726: Vision usecase question
Query Text:
Part Number: DRA726 Other Parts Discussed in Thread: TDA2 I am trying to create a usecase for our board but am not sure how to set the configuration This one seems close to what I want but is surround video, I do not want surround, hlos/adas/src/usecases/csi2Cal_multi_cam_view I want 1 to 4 different cameras. It is likely that the customer will only have 2 at a time because of the size of the display but he may have all 4 at once somewhat reduced in size. Our cameras connect to a CSI2 port, we also have a serdes on a CSI2 port for input and HDMI for output. I am only doing the analog camera for now. I need for the picture to be deinterlaced. My driver supports misc PAL and NTSC video systems. The device that connects to the CSI2 port is a isl79987 I already have the bsp code written. My Vision code is using 3.08 as a base. My yocto is based on the one from the automotive SDK6 where I removed multiple unused recipes. Kernel is 4.19 UseCase: chains_csi2CalMultiCam_View // // surround view algorithm and display // IssCapture -> VPE_sv_csc -> Sync -> SgxFrmcpy (A15) -> Display_M4 (IPU1_0) // // Graphics overlay display // GrpxSrc -> Display_Grpx Michel Catudal ACTIA Corp Working from home
Responses:
Hi Michael, If I understand your usecase, you want to dynamically change the number of capture channels is it? Thanks RamPrasad
RamPrasad, On Linux I had to modify the CAL driver to support 4 channels, the original CAL module only supported 1 The device is connected to CSI2-1. AG5 AH5 AG6 AH6 AG7 AH7 Our partner in Spain use an old SDK 3.02 with android. They use a DRA76 which is in the tda2px family while the DRA726 is in the tda2ex family. Their implementation use isscapture and modified vip chain. They can only show one camera at a time. Our customers want to be able to show sometimes 4 cameras, they want to be able to show at least 2 in normal operation. Showing 4 on the 7 inch or 13 inch display I need to shrink the pictures, the application need to be able to tell the size and where they go on the screen. As I looked to their implementation they only use a RTOS usecase unless they didn't provide me all the info. I will get in touch with them today as they seem to be back to work. As you probably know Madrid was seriously affected by the Coronavirus. I need to work with linux which is why I am looking at a hlos usecase which according to the chart can support both RTOS and Linux. Michel Catudal ACTIA Corp
Hi Micheal, There is already 4channel captured video with with 2x2 mosaic. Did you check with this example? Thanks RamPrasad
RamPrasad, What would be the name of the usecase? Michel Catudal ACTIA Corp
RamPrasad, Are you talking about csi2Cal_multi_cam_view in tda2ex_evm_linux_all ? Any details on how to use these usecases onces compiled in? I created a use case based on that one which I called tda2ex_gd_linux_all I added my own board and tda2ex-gd in misc files for the PLATFORM, plus changes to add support for the intersil camera device which connects to the CSI2 second port. One thing I found odd, in the evm.c file in u-boot, it refers to VIP3 has the one that controls de CAL clock, it is true for the DRA76 but not for the DRA726 where it would be VIP2, there is no VIP3 in the DRA726. I created my own board files since our board is quite different from the TI EVMs. I removed a few items from uc_cfg.mk Original file : UC_lvds_vip_multi_cam_3d_srv=yes UC_csi2Cal_multi_cam_3d_srv=yes UC_csi2Cal_multi_cam_3d_srv_cbb=yes UC_lvds_vip_multi_cam_view_sgx_display=yes UC_lvds_vip_multi_cam_vpe_enc_null=yes UC_csi2Cal_multi_cam_view=yes UC_srv_calibration=yes UC_null_src_decode_display=yes UC_vip_single_cam_connectorLinksA15_sgx_display=yes UC_vip_single_cam_enc_dec_sgx_display=yes UC_vip_single_cam_framecopy_sgx_display=yes UC_vip_single_cam_sgx_display=yes ifeq ($(AVB_INCLUDE),yes) UC_avb_rx_multi_cam_decode_sgx_display=yes UC_avb_rx_multi_cam_3d_srv=yes UC_avbrx_sv_display_avbtx=yes endif ifeq ($(EARLY_USECASE_ENABLE),yes) UC_early_capture_late_weston=yes endif New file UC_csi2Cal_multi_cam_view=yes UC_null_src_decode_display=yes UC_vip_single_cam_connectorLinksA15_sgx_display=yes UC_vip_single_cam_enc_dec_sgx_display=yes UC_vip_single_cam_framecopy_sgx_display=yes UC_vip_single_cam_sgx_display=yes UC_disp_dist_src_display=yes ifeq ($(AVB_INCLUDE),yes) UC_avb_rx_multi_cam_decode_sgx_display=yes endif ifeq ($(EARLY_USECASE_ENABLE),yes) UC_early_capture_late_weston=yes endif Michel Catudal ACTIA Corp
RamPrasad, As I look to implement the usecase I see that I cannot use iss_capture since the Image Subsytem doesn't exists in the DRA726. As I look thru the technical manuals of the DRA76 and DRA726 I see that their CSI2 ports are similar except that the clock for the DRA76 is for VIP3 while for DRA726 is for VIP2. The DRA76 uses the ISS module which doesn't exist on the DRA726. What link would I use to capture from the CSI2 port? The port used is the csi2_1 The Intersil device transmits 4 camera inputs to the 2 lanes. I am assuming that I need to create a use case with vip_capture, is that correct? I don't see any usecase that uses vip_capture The BSP ISL code I have from our partners in Spain is meant to be used on a DRA76, I need to get it to work on the DRA726. Michel Catudal ACTIA Corp
Hi Michael, Yes, all 4ch capture and display usecases make use of EDMA to create a mosaic of 2x2 to show all 4 channels on display. You can make use of same links for your captures. Thanks RamPrasad
RamPrasad, What is the name of that example? Michel Catudal ACTIA Corp
Hi Michael, I am referring to chains_lvdsVipMultiCam_SgxDisplay This is a visionSDK linux usecase for capturing 4 channels and displaying all together as 2x2 mosaic. Thanks RamPrasad
RamPrasad, I saw that one. It seems to be only for the paralled video input. How do I capture from the CSI2 port on the DRA726 with this example? Michel Catudal ACTIA Corp
Hi Michael, There is already this usecase available with visionsdk linux ./apps/src/hlos/adas/src/usecases/csi2Cal_multi_cam_view/chains_csi2CalMultiCam_View.c which captures 4 videos and displays as 2x2 mosaic. Thanks RamPrasad
RamPrasad, I found that one and that is the one I am using. I have added a sensor entry and the bsp. I added some missing I2C6 support and changed the LCD info to match our LCD displays. Everything is compiling until linking. It gives me errors with Radar which I do not use. How do I remove that? I don't see where the RADAR stuff can be disabled. I have some issues with linking due to that undefined first referenced symbol in file --------- ---------------- Bsp_ar12xxBoot /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_gd_linux_all/lib/tda2ex-evm/m4/release/app_alg_plugins.aem4<chains_common_ar12xx.oem4> Bsp_ar12xxConfigParams /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_gd_linux_all/lib/tda2ex-evm/m4/release/app_alg_plugins.aem4<chains_common_ar12xx.oem4> Bsp_ar12xxDeInit /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_gd_linux_all/lib/tda2ex-evm/m4/release/app_alg_plugins.aem4<chains_common_ar12xx.oem4> Bsp_ar12xxEnableDummySource /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_gd_linux_all/lib/tda2ex-evm/m4/release/app_alg_plugins.aem4<chains_common_ar12xx.oem4> Bsp_ar12xxGetConnType /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_gd_linux_all/lib/tda2ex-evm/m4/release/app_alg_plugins.aem4<chains_common_ar12xx.oem4> Bsp_ar12xxGetWidthHeight /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_gd_linux_all/lib/tda2ex-evm/m4/release/app_alg_plugins.aem4<chains_common_ar12xx.oem4> Bsp_ar12xxInit /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_gd_linux_all/lib/tda2ex-evm/m4/release/app_alg_plugins.aem4<chains_common_ar12xx.oem4> Bsp_ar12xxRegisterConfig /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_gd_linux_all/lib/tda2ex-evm/m4/release/app_alg_plugins.aem4<chains_common_ar12xx.oem4> Bsp_ar12xxSetTestSourceSeeds /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_gd_linux_all/lib/tda2ex-evm/m4/release/app_alg_plugins.aem4<chains_common_ar12xx.oem4> Bsp_ar12xxStartRadar /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_gd_linux_all/lib/tda2ex-evm/m4/release/app_alg_plugins.aem4<chains_common_ar12xx.oem4> Bsp_ar12xxStopRadar /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_gd_linux_all/lib/tda2ex-evm/m4/release/app_alg_plugins.aem4<chains_common_ar12xx.oem4> Bsp_ar12xxSwitchConfig /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_gd_linux_all/lib/tda2ex-evm/m4/release/app_alg_plugins.aem4<chains_common_ar12xx.oem4> Bsp_ar12xxUnRegisterConfig /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_gd_linux_all/lib/tda2ex-evm/m4/release/app_alg_plugins.aem4<chains_common_ar12xx.oem4> error: unresolved symbols remain error: errors encountered during linking; "/home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2 ex_gd_linux_all/vision_sdk/bin/tda2ex-evm/vision_sdk_ipu2_release.xem4" not built /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/build/rtos/makerules/rules_m4.mk:312 : la recette pour la cible « /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_gd_linux_all/vision_sdk/bin/tda2ex-evm/vision_sdk_ipu2_release.xem4 » a échouée make[7]: *** [/home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_gd_linux_all/vision_sdk/bin/tda2ex-evm/vision_sdk_ipu2_release.xem4] Erreur 1 make[7] : on quitte le répertoire « /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/rtos/bios_app_common/tda2ex/ipu2 » /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/build/rtos/makerules/common.mk:271 : la recette pour la cible « ipu2 » a échouée make[6]: *** [ipu2] Erreur 2 make[6] : on quitte le répertoire « /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/rtos/bios_app_common/tda2ex/ipu2 » MAKEFILE.MK:162 : la recette pour la cible « apps_ipu2 » a échouée make[5]: *** [apps_ipu2] Erreur 2 make[5] : on quitte le répertoire « /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/rtos » MAKEFILE.MK:31 : la recette pour la cible « apps » a échouée make[4]: *** [apps] Erreur 2 make[4] : on quitte le répertoire « /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/rtos » MAKEFILE.MK:315 : la recette pour la cible « apps » a échouée make[3]: *** [apps] Erreur 2 make[3] : on quitte le répertoire « /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/apps » Makefile:175 : la recette pour la cible « apps_exe » a échouée make[2]: *** [apps_exe] Erreur 2 make[2] : on quitte le répertoire « /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/build » Makefile:38 : la recette pour la cible « apps » a échouée make[1]: *** [apps] Erreur 2 make[1] : on quitte le répertoire « /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/build » Makefile:12 : la recette pour la cible « vision_sdk » a échouée make: *** [vision_sdk] Erreur 2 Michel Catudal ACTIA Corp
RamPrasad, I resolved the issue with the radar code by removing some items from the Makefile. Even though the configuration stated no radar board it still compiled radar code but since the link information for the radar was missing it gave errors on linking. TI must not have tested this without the radar support needed. Now everything seems to compile right until doing the graphic links I use make -j to see the messages and get egl.h missing all over. I am assuming that it is looking in the rootfs where I don't have the dev files. But then when I add EXTRA_IMAGE_FEATURES += "dev-pkgs" to the image, I do not want to remove openssh I get error messages * Solver encountered 1 problem(s): * Problem 1/1: * - package openssh-dev-7.8p1+git-r0.0.armv7at2hf-neon requires openssh = 7.8p1+git-r0.0, but none of the providers can be installed * * Solution 1: * - allow deinstallation of packagegroup-arago-tisdk-addons-1.0-r77.5.actia_gd * - do not ask to install a package providing dropbear-dev * - do not ask to install a package providing packagegroup-arago-tisdk-addons-dev * Solution 2: * - do not ask to install a package providing openssh-dev /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/hlos/system/system_gl_egl_utils.h:76:10: fatal error: EGL/egl.h: Aucun fichier ou dossier de ce type #include <EGL/egl.h> ^~~~~~~~~~~ compilation terminated. make[6]: rien à faire pour « lib ». make[6] : on quitte le répertoire « /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/hlos/links_a15/ipcOut » make[6] : on quitte le répertoire « /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/hlos/links_a15/select » make -C /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/hlos/links_a15/select CORE=a15_0 ; make[6] : on entre dans le répertoire « /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/hlos/links_a15/select » In file included from sgxRender1x1.h:65, from sgxRender1x1.c:62: /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/hlos/system/system_gl_egl_utils.h:76:10: fatal error: EGL/egl.h: Aucun fichier ou dossier de ce type #include <EGL/egl.h> ^~~~~~~~~~~ compilation terminated. make[6]: rien à faire pour « lib ». make[6] : on quitte le répertoire « /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/hlos/links_a15/select » make[6] : on quitte le répertoire « /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/hlos/links_a15/algorithm » make -C /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/hlos/links_a15/algorithm CORE=a15_0 ; make[6] : on entre dans le répertoire « /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/hlos/links_a15/algorithm » In file included from sgxRender3x3.h:72, from sgxRender3x3.c:62: /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/hlos/system/system_gl_egl_utils.h:76:10: fatal error: EGL/egl.h: Aucun fichier ou dossier de ce type #include <EGL/egl.h> ^~~~~~~~~~~ compilation terminated. make[6]: rien à faire pour « lib ». make[6] : on quitte le répertoire « /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/hlos/links_a15/algorithm » In file included from sgxFrmcpyLink_priv.h:99, from sgxFrmcpyLink_drv.c:80: /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/hlos/system/system_gl_egl_utils.h:76:10: fatal error: EGL/egl.h: Aucun fichier ou dossier de ce type #include <EGL/egl.h> ^~~~~~~~~~~ compilation terminated. In file included from sgxRender2x4.h:72, from sgxRender2x4.c:62: /home/michel/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/src/hlos/system/system_gl_egl_utils.h:76:10: fatal error: EGL/egl.h: Aucun fichier ou dossier de ce type #include <EGL/egl.h> ^~~~~~~~~~~ compilation terminated. In file included from system_gl_egl_utils.c:69: system_gl_egl_utils.h:76:10: fatal error: EGL/egl.h: Aucun fichier ou dossier de ce type #include <EGL/egl.h> ^~~~~~~~~~~ compilation terminated. Michel Catudal ACTIA Corp