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.

trying start FVID commands for DM6437

Other Parts Discussed in Thread: CCSTUDIO, TVP5146, TMS320DM6437, TVP5146M2

Hi Srs,

I am trying to learn how FIVD commands work with DM6437 DSP and always I stop in the same mistake on CCS.

Now I am following the SPRAA3A docmentation, so I am stopped in the following mistake:

//-------------------------------------------------------------------------------------

Undefined symbol                                                 firtd reference in file

_ECM_dispactTab                                                  C:/CCStudio_v3.3/bios_5_31_07/packages/ti/bios/lib/bios.a64P

>>  error: symbol referencing errors - './Debug/MyPro.out' not built

>> Compilation failure

Build Complete,

 2 Errors, 0 Warnings, 0 Remarks.

//-------------------------------------------------------------------------------------

Could someone help me?

  • I believe the correct symbol name should be "_ECM_dispatchTab" - can you confirm the symbol name you posted?

    This error generally occurs when the ECM is disabled inside DSP/BIOS. If using the graphical editor go to Scheduling->HWI->ECM, right click Properties and select "Enable event combiner manager." If using the textual editor, add the line "bios.ECM.ENABLE = 1;" (without the quotes).

    If memory serves this should create the appropriate symbol name.

  • Ok, you are right.

    The right name is "_ECM_dispatchTab".

    I cofigured it and is working now.

    Thanks a lot.

  • Hello Tim.

    I am with other error in "User-Defined Devices".

    When I created the "I2C0" (UDEV), some mistakes are observed.

    1) If I configure "init function" with "_I2C_INIT" and "device params ptr" with "_I2C_devParams" like in DSP/BIOS configuration on VPFEtvp5146Example.pjt, are showed the following errors:

    //---------------------------------------

       undefined symbol                                    First referenced in file

       _I2C_devParams                                      C:\\Develop\\Customer\\Debug\\MyProBioscfg.obj

       _I2C_INIT                                                C:\\Develop\\Customer\\Debug\\MyProBioscfg.obj

    >>  error: symbol referencing errors - './Debug/MyPro.out' not built

    >> Compilation failure

    Build Complete,

       2Errors, 0 Warnings, 0 Remarks.

    //---------------------------------------

    I do a Find in files on VPFEtvp5146Example.pjt but I don,t find nothing useful.

    2) If I don't configure "init function" and "device params ptr" it is built successfully, but when I try to debug don't work.

    Could you help me?

  • For starters you may want to refer here for some material relevant to using the PSP drivers (this just so happens to cover the I2C driver on DM6437 as well).

    The I2C_devParams and I2C_INIT symbols are both to be defined somewhere in your code. For example, see the i2cParams_evmdm6437.c and psp_bios_i2c_sample_led.c files found in the \pspdrivers_1_10_01\packages\ti\sdo\pspdrivers\system\dm6437\bios\evmDM6437\i2c\src folder. If these symbols are not defined somewhere when the linker attempts to link the symbol reference from BIOS to the symbol in your code it fails to find it and generates these symbol referencing errors.

  • Hello Tim.

    I need a help to configure the TVP5146 used in TMS320DM6437 EVM.

    I built a board that is very similar to EVM, but in my case I have ten inputs for composite video and I would like to know how could I configure others inputs to be read.

    I would like to know too If I can fall down the resolution that now is eight bits, for four bits (half). We talk with Mr. Loc Truong when he came to Brazil and he sad that this was possible.

    Thank you.

  • To use the other inputs on the TVP5146 you would have to configure the input select register described in section 2.11.1 of the TVP5146 Datasheet, this register determines which analog input goes into the video decoder.

    I am not sure what you mean by moving to 4 bits and what you stand to gain by doing so, do you mean internally to the DM6437 or are you talking about using a 4 bit bus from the TVP5146? In the case of internally moving to a 4 bit pixel depth you would have to write code to sort out the half bytes into a new image and back again to display, since the capture and display hardware works in bytes and the EDMA only goes down to bytes, this would be a CPU intensive task. From an external 4 bit bus perspective doing this would violate BT.656 since you would be cutting off the protection bits, and even if you set up external syncs to capture 4 bit data, internally the VPFE would still be generating the image in bytes which you would have to sort just the same with the CPU. Most of the video pipeline is designed for a minimum of 8 bit data in YCbCr 4:2:2, so how would 4 bit pixel depth benefit you, aside from lowering storage space?

  • Hello Mr Bernie.

    I will read the topic about TVP5146 soon.

    About reduce the resolution of TVP5146, I asked because like I already had writing, we took with Mr Loc (from TI), he sad that for our aplication this could be a good way. He said this because we will read 10 cameras and analize their videos, and we were spent too time to analyse one video input so, we will spend more to analyse 10 inputs.

    However, I see what you are talk about BT656, EDMA and the others points, I thought that I could configure the TVP5146 to give me a resolution of 4 bits like an AD converter.

    Thank you.

  • I am not sure I fully understand your system or how a 4 bit pixel would be helpful, Loc likely has a better understanding.

    When you say 10 cameras do you mean to work with all of them simultaneously? Note that the TVP5146 is not really designed for multiple simultaneous video feeds, it has multiplexed analog inputs so you could have 10 cameras and switch between them, but it only has a single composite processor, such that I do not think it is possible to have it generate two 4 bit streams from two composite video inputs.

    As with any parallel ADC you could simply ignore the four lowest order bits (though in this case it would violate the embedded synchronization of BT.656), however the VPFE is not configurable to capture such values, the smallest value it recognizes is a byte, so even if you were sending in fewer bits, you would end up with byte samples in memory. I suppose you could have some external logic (FPGA/CPLD) that could take two 4 bit samples and pipe them into a single byte to be fed into the VPFE, but that seems a bit unusual.

  • I know that is not possible to cofigure 10 cameras work simultaneously. I will need to do a good algorithm.

    I understand too that is not possible to configure the TVP5146 for give a pixel value in 4 bits.

    But I am thankful for your help cited in section 2.11.1 on TVP5146m2 datasheet. So, I will study this now.

    Thank you.

  • Hi Mr Bernie.

    I read the TVP5134m2 data sheet and would like to make clear a doubt.

    In the functional block diagram we see 4 ADC (Figure 1-1 on page 4). So, theoretically I could configure these 4 ADC for work together. But In input select register (Table 2-12 on page 33) I do not have option to configure more than one CVBS for work together.

    Would I have to configure one per time in runtime mode? or I need create others UDEV (User-Defined Devices) like VPFE1,...?

    Thank you.

  • The TVP5146 has multiple ADCs, but is only capible of processing one video stream at a given time as it has only one composite processor it can only handle one CVBS stream. The reason it has multiple ADCs is so that it can support more advanced video formats, such as component video in which a single video stream takes three analog channels. Even if you could use all four ADCs at the same time for individual CVBS streams, there is still only one digital video bus on the part, so there is no effective way to get that kind of bandwidth out of the part.

    If you are looking for a device that is capible of multiple simultaneous video decoding than you may want to consider the TVP5154, it is essentially four video decoders in a single package, and it is capible of handling four simultaneous CVBS streams. Note that this device has four seperate digital video busses for outputting the bt.656 video streams, if you wanted to get these streams into the DM6437 simultaneously you would need some external logic to synchronize and combine them into a single stream, perhaps a FPGA.