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.

DM3730 Camera loopback CVBS to LCD

Other Parts Discussed in Thread: DM3730, TVP5146

Hi,

I am trying to loop a camera fed in the CVBS input to the LCD.

I have downloaded the DVSDK (V4.3.0.6) and tried to build the demos from it. I assumed there is a loopback demo available as the software developers guide shows this line:

target # cd /usr/share/ti/dvsdk-demos/

then

target # ./video_loopback_copy_dm3730.x470MV -O lcd -I composite

Before anything, I used make help. At the bottom, it says:

NOTE: The 'make components' target must be issued once upon installation for
all other targets to build properly. A 'make clean' target should be
issued before this target

I do make clean, then make components. These both fail, the log files are here

1072.make_clean_logfile.txt
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
make -C /media/Data/Installs/DVSDK/psp/linux-2.6.37-psp04.02.00.07.sdk mrproper
make[1]: Entering directory `/media/Data/Installs/DVSDK/psp/linux-2.6.37-psp04.02.00.07.sdk'
make[1]: Leaving directory `/media/Data/Installs/DVSDK/psp/linux-2.6.37-psp04.02.00.07.sdk'
make -C /media/Data/Installs/DVSDK/psp/linux-2.6.37-psp04.02.00.07.sdk ARCH=arm CROSS_COMPILE=/media/Data/Installs/DVSDK/linux-devkit//bin/arm-arago-linux-gnueabi- clean
make[1]: Entering directory `/media/Data/Installs/DVSDK/psp/linux-2.6.37-psp04.02.00.07.sdk'
make[1]: Leaving directory `/media/Data/Installs/DVSDK/psp/linux-2.6.37-psp04.02.00.07.sdk'
DSPLINK=/media/Data/Installs/DVSDK/dsplink_1_65_01_05_eng/dsplink \
make -C /media/Data/Installs/DVSDK/dsplink_1_65_01_05_eng/dsplink/gpp/src \
CROSS_COMPILE=/media/Data/Installs/DVSDK/linux-devkit//bin/arm-arago-linux-gnueabi- \
CC=/media/Data/Installs/DVSDK/linux-devkit//bin/arm-arago-linux-gnueabi-gcc \
AR=/media/Data/Installs/DVSDK/linux-devkit//bin/arm-arago-linux-gnueabi-ar \
LD=/media/Data/Installs/DVSDK/linux-devkit//bin/arm-arago-linux-gnueabi-ld \
COMPILER=/media/Data/Installs/DVSDK/linux-devkit//bin/arm-arago-linux-gnueabi-gcc \
ARCHIVER=/media/Data/Installs/DVSDK/linux-devkit//bin/arm-arago-linux-gnueabi-ar \
KERNEL_DIR=/media/Data/Installs/DVSDK/psp/linux-2.6.37-psp04.02.00.07.sdk \
BASE_BUILDOS=/media/Data/Installs/DVSDK/psp/linux-2.6.37-psp04.02.00.07.sdk \
clean
make[1]: Entering directory `/media/Data/Installs/DVSDK/dsplink_1_65_01_05_eng/dsplink/gpp/src'
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 3515.make_components_logfile.txt.

These both error when looking for a file/folder. The Rules.make is here (renamed to Rules.txt)

# Define target platform.
PLATFORM=dm3730

# The installation directory of the SDK.
DVSDK_INSTALL_DIR=/media/Data/Installs/DVSDK

# For backwards compatibility
DVEVM_INSTALL_DIR=$(DVSDK_INSTALL_DIR)

# Where DSP/BIOS is installed.
BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dspbios_5_41_03_17

# Where the DSPBIOS Utils package is installed.
BIOSUTILS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/biosutils_1_02_02

# Where the Codec Engine package is installed.
CE_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/codec-engine_2_26_02_11

# Where the DSP Link package is installed.
LINK_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dsplink_1_65_01_05_eng

# Where the codecs are installed.
CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/<__codecs-omap3530__>

# Where DMAI package is installed.
DMAI_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/<__dmai__>

# Where the SDK demos are installed
DEMO_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/<__dvsdk-demos__>

# Where the DVTB package is installed.
DVTB_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/<__dvtb__>

# Where the EDMA3 LLD package is installed.
EDMA3_LLD_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/edma3lld_01_11_02_05
EDMA3LLD_INSTALL_DIR=$(EDMA3_LLD_INSTALL_DIR)

# Where the Framework Components package is installed.
FC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/framework-components_2_26_00_01

# Where the MFC Linux Utils package is installed.
LINUXUTILS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/linuxutils_2_26_02_05
CMEM_INSTALL_DIR=$(LINUXUTILS_INSTALL_DIR)

# Where the XDAIS package is installed.
XDAIS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdais_6_26_01_03

# Where the RTSC tools package is installed.
XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/<__xdctools__>

# Where the Code Gen is installed.
CODEGEN_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/cgt6x_6_1_14

# Where the PSP is installed.
PSP_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/psp

# The directory that points to your kernel source directory.
LINUXKERNEL_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/psp/linux-2.6.37-psp04.02.00.07.sdk
KERNEL_INSTALL_DIR=$(LINUXKERNEL_INSTALL_DIR)

# Where the local power manager is installed.
LPM_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/local_power_manager_linux_1_24_03_11

# Where the development headers and libs are installed.
LINUXLIBS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/linux-devkit/arm-arago-linux-gnueabi/usr

# Where c6accel package is installed.
C6ACCEL_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/c6accel_1_01_00_07

# Where c6run package is installed.
C6RUN_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/c6run_0_98_03_03

# Where opengl graphics package is installed.
GRAPHICS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/graphics-sdk_4.03.00.02

# The prefix to be added before the GNU compiler tools (optionally including # path), i.e. "arm_v5t_le-" or "/opt/bin/arm_v5t_le-".
CSTOOL_DIR=/media/Data/Installs/DVSDK/linux-devkit/
CSTOOL_PREFIX=$(CSTOOL_DIR)/bin/arm-arago-linux-gnueabi-
CSTOOL_PATH=$(CSTOOL_DIR)/bin

MVTOOL_DIR=$(CSTOOL_DIR)
MVTOOL_PREFIX=$(CSTOOL_PREFIX)

# Where to copy the resulting executables
EXEC_DIR=/media/Data/Installs/TI_SDK/targetNFS

...In there are things like CODEC_INSTALL_DIR, of which there is no valid directory.

My main question is, where can I find these for the DM3730 evaluation board?

The installs/tools in question are:

  • CODEC_INSTALL_DIR
  • DMAI_INSTALL_DIR
  • DEMO_INSTALL_DIR
  • DVTB_INSTALL_DIR
  • XDC_INSTALL_DIR
  • Hi Neil,

    Do you follow instructions from the TMS320DM3730 Software Developers Guide and what toolchain you are using? Do you try to execute 'make all' after 'make clean'? This will build all components and demos/examples including video loopback copy.

    BR

    Tsvetolin Shulev

  • Hi Tsvetolin,

    I have followed the instructions, skipping the hello world, but still get the problem mentioned above... I am using the toolchain that came with the DVSDK.

    I can get the demo that is already there partially running, but at some point, I need to implement my own code to do this.

    Trying to run the demo located in the target filesystem when the setup script is run, I get this:

    Media: Opened Media Device
    Enumerating media entities
    [1]:OMAP3 ISP CCP2
    [2]:OMAP3 ISP CCP2 input
    [3]:OMAP3 ISP CSI2a
    [4]:OMAP3 ISP CSI2a output
    [5]:OMAP3 ISP CCDC
    [6]:OMAP3 ISP CCDC output
    [7]:OMAP3 ISP preview
    [8]:OMAP3 ISP preview input
    [9]:OMAP3 ISP preview output
    [10]:OMAP3 ISP resizer
    [11]:OMAP3 ISP resizer input
    [12]:OMAP3 ISP resizer output
    [13]:OMAP3 ISP AEWB
    [14]:OMAP3 ISP AF
    [15]:OMAP3 ISP histogram
    [17]:tvp514x 3-005c
    [17]:tvp514x 3-005c
    Total number of entities: 17
    Enumerating links/pads for entities
    pads for entity 1=(0 INPUT) (1 OUTPUT)
    [1:1]===>[5:0] INACTIVE

    pads for entity 2=(0 OUTPUT)
    [2:0]===>[1:0] INACTIVE

    pads for entity 3=(0 INPUT) (1 OUTPUT)
    [3:1]===>[4:0] INACTIVE
    [3:1]===>[5:0] INACTIVE

    pads for entity 4=(0 INPUT)

    pads for entity 5=(0 INPUT) (1 OUTPUT) (2 OUTPUT)
    [5:1]===>[6:0] ACTIVE
    [5:2]===>[7:0] INACTIVE
    [5:1]===>[10:0] INACTIVE
    [5:2]===>[13:0] ACTIVE
    [5:2]===>[14:0] ACTIVE
    [5:2]===>[15:0] ACTIVE

    pads for entity 6=(0 INPUT)

    pads for entity 7=(0 INPUT) (1 OUTPUT)
    [7:1]===>[9:0] INACTIVE
    [7:1]===>[10:0] INACTIVE

    pads for entity 8=(0 OUTPUT)
    [8:0]===>[7:0] INACTIVE

    pads for entity 9=(0 INPUT)

    pads for entity 10=(0 INPUT) (1 OUTPUT)
    [10:1]===>[12:0] INACTIVE

    pads for entity 11=(0 OUTPUT)
    [11:0]===>[10:0] INACTIVE

    pads for entity 12=(0 INPUT)

    pads for entity 13=(0 INPUT)

    pads for entity 14=(0 INPUT)

    pads for entity 15=(0 INPUT)

    pads for entity 17=(0 OUTPUT)
    [17:0]===>[5:0] ACTIVE

    pads for entity 17=(0 OUTPUT)
    [17:0]===>[5:0] ACTIVE

    Enabling link [tvp5146]===>[ccdc]
    [tvp514x]===>[ccdc] enabled
    Enabling link [ccdc]===>[video_node]
    [ccdc]===>[video_node] enabled
    Capture: Current Input: camera
    Capture: Input changed to: camera
    Capture: Current standard: PAL
    successfully format is set on all pad [WxH] - [720x574]
    Capture: Capable of streaming
    Capture: Init done successfully

    VIDIOC_STREAMON: Broken pipe
    Capture: Stream on...
    [ 2376.723602] DMA misaligned error with device 0
    [ 2384.535491] DMA misaligned error with device 0
    [ 2392.347991] DMA misaligned error with device 0
    Failed to configure frame copy job

    This, to me, suggests the camera has been detected, but something else went wrong?

    Thanks

  • Hello,

    Neil Race said:
    [ 2376.723602] DMA misaligned error with device 0
    [ 2384.535491] DMA misaligned error with device 0
    [ 2392.347991] DMA misaligned error with device 0

    I am not familiar with DVSDK but could you try application without DMA copying?

    You could try also

    enabled the DMAI debug mode by typing the following:

    export DMAI_DEBUG=1

    Strart the DMAI loopback application.

    BR

    Margarita

  • Hi Margarita,

    I now have the loopback working!

    I am using the loopback without copy as you suggested, but this didn't work for me originally. I set the DMAI_DEBUG=1 and looked at the messaged and was getting frame errors.

    I then noticed the height of PAL was set as 574, instead of 576... I changed this in the source code, rebuilt and installed, and it now works with my PAL camera.

    Thanks,

    Neil

  • Hello,

    I am glad that this issue is solved.

    BR

    Margarita