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.

Video Input Port 0

Other Parts Discussed in Thread: CCSTUDIO, TVP7002

Dear all,

 

I want to encode from the DVI input in EVM8148. I see in Mistral site, the register to change the mux (http://www.mistralsolutions.com/download/Download.html,

2.2 Muxing and selection). I run the file IOEXP_016_SII1161_DVI_Receiver.out, and I get the error:

 root@dm814x-evm:~/bin#

 root@dm814x-evm:~/bin# ./IOEXP_016_SII1161_DVI_Receiver.out

 ./IOEXP_016_SII1161_DVI_Receiver.out: line 3: syntax error: "(" unexpected (expecting ")")

 root@dm814x-evm:~/bin#

 

 

Please let me know how can I change the input stream from RGB connector to DVI connector

 

Regard,

Yoel

  • Yoel,

    I suspect that the IOEXP_016_SII1161_DVI_Receiver.out file should be load and run under CCStudio.

    Regards,
    Pavel

  • Dear Pavel,

     

    I have some question:

    1. which CPU I need to choose ? when I choose 8148 I get the error bellow:
      Description	Resource	Path	Location	Type
      ARMRAM memory range has already been	linker.cmd	?/IOEXP_016_SII1161_DVI_Receiver?	line 12	C/C++ Problem
      ARMRAM memory range overlaps existing memory	linker.cmd	?/IOEXP_016_SII1161_DVI_Receiver?	line 12	C/C++ Problem
      DDR3_0 memory range overlaps existing memory	linker.cmd	?/IOEXP_016_SII1161_DVI_Receiver?	line 14	C/C++ Problem
      DDR3_1 memory range overlaps existing memory	linker.cmd	?/IOEXP_016_SII1161_DVI_Receiver?	line 15	C/C++ Problem
      errors encountered during linking; "IOEXP_016_SII1161_DVI_Receiver.out"	IOEXP_016_SII1161_DVI_Receiver		 	C/C++ Problem
      OCMCSRAM0 memory range overlaps existing	linker.cmd	?/IOEXP_016_SII1161_DVI_Receiver?	line 13	C/C++ Problem
      
      . please let me know which device is match.
    2. where I need to run the file ? How the CCS connect to the EVM8148 ?
    3. How can I run the GEL script ?

    Regard,

    Yoel 

  • Yoel,

    You need to attach JTAG emulator on the DM814x EVM BASE board, on the standard 20-pin JTAG debug interface: DM814x-JTAG. I am using blackhawk USB560M JTAG emulator.

    Yoel Cohen said:
    which CPU I need to choose ? when I choose 8148 I get the error bellow:
    Description	Resource	Path	Location	Type
    ARMRAM memory range has already been	linker.cmd	?/IOEXP_016_SII1161_DVI_Receiver?	line 12	C/C++ Problem
    ARMRAM memory range overlaps existing memory	linker.cmd	?/IOEXP_016_SII1161_DVI_Receiver?	line 12	C/C++ Problem
    DDR3_0 memory range overlaps existing memory	linker.cmd	?/IOEXP_016_SII1161_DVI_Receiver?	line 14	C/C++ Problem
    DDR3_1 memory range overlaps existing memory	linker.cmd	?/IOEXP_016_SII1161_DVI_Receiver?	line 15	C/C++ Problem
    errors encountered during linking; "IOEXP_016_SII1161_DVI_Receiver.out"	IOEXP_016_SII1161_DVI_Receiver		 	C/C++ Problem
    OCMCSRAM0 memory range overlaps existing	linker.cmd	?/IOEXP_016_SII1161_DVI_Receiver?	line 13	C/C++ Problem
    
    . please let me know which device is match.

    When start CCStudio, you can create new target configuration and make the following setup:

    Connection: Blackhawk USB650-M Emulator

    Board or Device: EVMDM8148

    Then launch the selected configuration.

    Yoel Cohen said:
    where I need to run the file ? How the CCS connect to the EVM8148 ?

    First you need to connect to the DM8148 EVM and then run the .out file. Switch on the DM814x EVM and connect to Blackhawk USB560-M Emulator_0/Cortex-A8. The DM8148_EVM.gel GEL script is autoloaded here. Then you can run the .out file from the menu:

    Run -> Load -> Load Program -> .out file

    Yoel Cohen said:
    How can I run the GEL script ?

    You can run your own GEL script or the one that come with Mistral example code, from the "GEL files" menu, remove the default GEL script, select the new one, and run it manually from the "Scripts" menu.

    Note also that we have a special forum for CCS: http://e2e.ti.com/support/development_tools/code_composer_studio/default.aspx You can post CCS related questions there.

    Best regards,
    Pavel

  • Dear Pavel,

    I run the out file via JTAG. after the program finished the LINUX wasn't booting, until the power down.

    Please let me know how to continue to capture after I run the out file. In addition is it possible to make this action (to change the video input) in LINUX ???

    By the way, my friend Leonid ask me, do you speak Russian?

     Best regard,

    Yoel

  • Yoel,

    Could you direct me to this file, I want to try it on my side. When I go to http://www.mistralsolutions.com/download/Download.html, I do not find the IOEXP_016_SII1161_DVI_Receiver.out file.

    I do not think you can use this .out file with Linux.

    Here are some threads that might be in help:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/197358/703773.aspx

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/249203/935562.aspx

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/223917.aspx

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/255453/894841.aspx

    Best regards,
    Pavel

  • Dear Pavel,

    you can find the file at: http://www.mistralsolutions.com/pes-support/support-downloads/tmdxevm8148.html, in Software -> Expansion I/O Board -> Rev D.

    wait for your answer...

     

    Regard,

    Yoel

     

  • Yoel,

    The procedure for DVI receive is described in the IO EXPANSION BOARD Rev D/src/CCS_Test_Code/IOExpansion_Application/dvi_receiver/readme.txt file.

    As stated in that readme.txt, you need to attach HDMI output of DVD player to the DM814x DVI (J7). Also the below procedure should be followed:

    Procedure
    ----------
    1. This application needs the following GEL script to be executed.
        * PG 2.x DM814X                            --> ALL_ADPLL_CLOCKS_ENABLE_API
        * IO Expansion Board Initialization --> IOEXP_DVI_Receiver_Setup
     
    2. Load the built binary for DVI Receiver Test (IOEXP_016_SII1161_DVI_Receiver.out) and execute the test.
     
    3. Confirm that the value at 0x48105530 is changing between the following range  in the memory window of CCS.
                                   * 0x0528022D & 0x0528022E  -- for 1080i_50hz
                                   * 0x044C022D & 0x044C022E  -- for 1080i_60hz

    Best regards,
    Pavel

  • Dear Pavel,

     

    I have read this file...

    The problem is, when I want to run .out file the Linux is stuck !!!

    My question is how do I work with CCS and Linux together ?

    In addition is it possible to change the register in Linux, instead of CCS ???

     

    Thanks,

    Yoel

  • Yoel,

    I suspect that the Linux stuck as the .out file and the GEL scripts are overwriting the current Linux settings (that came from u-boot and kernel C code). I do not think you can work with CCS and Linux together. You can try to reuse the .out file C source code and make it as an application. Then you can run it:

     root@dm814x-evm:/# <your_application>

    For example application, you can refer to ti-ezsdk_dm814x-evm_5_05_02_00/docs/DM814x_EZ_Software_Developers_Guide.pdf
    section 2.2 Writing your own "Hello World!" application and executing it on the target

    Yoel Cohen said:
    In addition is it possible to change the register in Linux, instead of CCS ???

    For which register you are asking? You can change any register values with the devmem2 tool.

    BR

    Pavel


  • Dear Pavel,

     

    I would like to know if is there any API, can I use with it to change the register.

    All I want is to change the input of the stream...

     

    Regard,

    Yoel

  • Yoel,

    Yoel Cohen said:
    to change the register

    If you mean here how to set the MUX between TVP7002 (RGB in) and SiI1161 (DVI in), the selection can be done through the I2C2 IO expander, U21 PCF8575PWR. 

    For DVI input:

    pin IOEXP_SEL_TVP_S0 (U21.P16) = 0 (low) and pin IOEXP_SEL_TVP_S1 (U21.P17) = 1 (high)

    See MS_TI_DM814x_EXP_IO_REVD_HUG.pdf, page 59, for more information.

    I am not aware if there is any API about this. The code from Mistral (sii1161_dvi_receiver.c) is using the following approach for this MUX selection process:

    STATUS enable_DVI_lines(void) {
        
        UINT8 numBytes;
        UINT8 value[2];
        STATUS retVal;
        
        // Read the current I2C IO Expander state
        retVal = DM814xI2cRead(I2C2_IOEXP_BUS_NUM, I2C2_IOEXP_CHIP_ADDR, value, 2, &numBytes);  
     
       // Enable the VIN lines for the SiI1161 at the Switch
        value[1] &= ~(1 << 6);    // Clear IOEXP_SEL_TVP_S0

        value[1] |= (1 << 7);    // Set IOEXP_SEL_TVP_S1
     
        
        // Configure the current IO state
        retVal = DM814xI2cWite(I2C2_IOEXP_BUS_NUM, I2C2_IOEXP_CHIP_ADDR, value, 2, &numBytes);
        
        return retVal;
    }

    BR

    Pavel