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.

omx capture_encode example stoped after send command to tvpHandle

Other Parts Discussed in Thread: TVP7002

Hi,

   I am using EZSDK 5_02_01_59,

   and I tested the capture_encode program in omx on board ti816x. 

   It worked OK a few days ago.

   But now it failed when I called sendCommand to tvpHandle

/***********************************************************************************************/

  eError =

    OMX_SendCommand (pAppData->pTvpHandle, OMX_CommandStateSet,

                     OMX_StateIdle, NULL);

  if (eError != OMX_ErrorNone)

  {

    printf ("Error in SendCommand()-OMX_StateIdle State set : %s \n",

            IL_ClientErrorToStr (eError));

    goto EXIT;

  }

 

  semp_pend (pAppData->capILComp->done_sem);

/***********************************************************************************************/
  The program stoped before the semp_pend function.
  Can anyone give me some advise about how to fix the problem?
  
   Thank you.
Regards,
Lei

 

  • You can find the root cause by looking at the Firmware logs. Please refer to the wiki page here on how to get the logs:

    http://processors.wiki.ti.com/index.php/OMX_Viewing_Media_Controller_Traces

    I am suspecting that the firmware slave cores (vpss) has crashed here.

     

    Archith

  • Hi Archith,

      First, thank you for your reply.

      I got the error message using the method you mentioned, and it likes below:

    ***************************************************************************************************************

    cessing OMX_CommandStateSet>

    N:VPSS  P:2 #:00481 T:00000043|79e8ae41 S:FATAL ERROR: ErrorCode:0x1. Unhandled Exception:

    N:VPSS  P:2 #:00482 T:00000043|79e8f467 S:Exception occurred in ThreadType_Task

    N:VPSS  P:2 #:00483 T:00000043|79e9284f S:handle: 0x9ef6ea48.

    N:VPSS  P:2 #:00484 T:00000043|79e955fd S:stack base: 0x9ef6c240.

    N:VPSS  P:2 #:00485 T:00000043|79e987c3 S:stack size: 0x2800.

    N:VPSS  P:2 #:00486 T:00000043|79e9b60d S:R0 = 0x4802a000  R8  = 0x9f242f3c

    N:VPSS  P:2 #:00487 T:00000043|79e9f14f S:R1 = 0x9f29df4c  R9  = 0x9f29dfa8

    N:VPSS  P:2 #:00488 T:00000043|79ea2ac5 S:R2 = 0x00000000  R10 = 0x00000003

    N:VPSS  P:2 #:00489 T:00000043|79ea635d S:R3 = 0x00000001  R11 = 0x9ef6b4ec

    N:VPSS  P:2 #:00490 T:00000043|79ea9b9b S:R4 = 0x9f29df9c  R12 = 0x9ef6e7c0

    N:VPSS  P:2 #:00491 T:00000043|79ead629 S:R5 = 0x00000000  SP(R13) = 0x9ef6e858

    N:VPSS  P:2 #:00492 T:00000043|79eb1064 S:R6 = 0x0000ffff  LR(R14) = 0x9f57c79b

    N:VPSS  P:2 #:00493 T:00000043|79eb4bfb S:R7 = 0x00000000  PC(R15) = 0x9f5c63a0

    N:VPSS  P:2 #:00494 T:00000043|79eb8481 S:PSR = 0x41000000

    N:VPSS  P:2 #:00495 T:00000043|79ebb32f S:ICSR = 0x0440f803

    N:VPSS  P:2 #:00496 T:00000043|79ebe227 S:MMFSR = 0x00

    N:VPSS  P:2 #:00497 T:00000043|79ec0b91 S:BFSR = 0x04

    N:VPSS  P:2 #:00498 T:00000043|79ec3577 S:UFSR = 0x0000

    N:VPSS  P:2 #:00499 T:00000043|79ec61f5 S:HFSR = 0x40000000

    N:VPSS  P:2 #:00500 T:00000043|79ec9091 S:DFSR = 0x00000000

    N:VPSS  P:2 #:00501 T:00000043|79ecbe11 S:MMAR = 0xe000ed34

    N:VPSS  P:2 #:00502 T:00000043|79eceb1f S:BFAR = 0xe000ed38

    N:VPSS  P:2 #:00503 T:00000043|79ed1949 S:AFSR = 0x00000000

    N:VPSS  P:2 #:00504 T:00000043|79ed45c1 S:FATAL ERROR: ErrorCode:0x1. Terminating Execution...

    ***************************************************************************************************************

     Just as you said, the VPSS crashed.

      Is that mean the TVP handle is unavailable when it be used in OMX_CommandStateSet?

      Demos in omx also crashed here. 

      Can you give me some advise about the error?

      Thanks.

     

    Regards,

    Lei

  • What it seems to me is that VPSS M3 core crashed when trying to access I2C2 registers. VPSS M3 controls the TVP decoder chip via I2C2 lines.

    Are you using the pre-built uImage that comes with the EZSDK? Can you describe all the test cases/ example code that you run when you see this issue?

     

    Archith

  • Hi Archith,

       Yes, I am using the uImage come with EZSDK.

       I just boot up the board, stop the matrix and prv service, then when I run the capture program, the error occurred.

       It worked OK a few days ago.

       I write a sample to test the I2C-1 EEPROM and It works fine.

       I am afraid if the I2C-2 bus is broke.

       Is there any simple program to test the I2C-2 or tvp7002 chip?

     

     Regards,

    Lei

     

     

  • I missed one row of the error message in the post.

    The error message is this

    **********************************************************************************************************************

    N:VPSS  P:2 #:01208 T:00000009|ed49ca2d S:Module<OMX.TI.VPSSM3.CTRL.TVP> @<OMX_BASE_PROCESS_CmdEvent> @line<540> msg<Pro

    cessing OMX_CommandStateSet>

    N:VPSS  P:2 #:01209 T:00000009|ed4e0719 S:FATAL ERROR: ErrorCode:0x1. Unhandled Exception:

    N:VPSS  P:2 #:01210 T:00000009|ed4e4e63 S:Exception occurred in ThreadType_Task

    N:VPSS  P:2 #:01211 T:00000009|ed4e81f7 S:handle: 0x9ef9d3d8.

    N:VPSS  P:2 #:01212 T:00000009|ed4eb08f S:stack base: 0x9ef9abd0.

    N:VPSS  P:2 #:01213 T:00000009|ed4ee21b S:stack size: 0x2800.

    N:VPSS  P:2 #:01214 T:00000009|ed4f1061 S:R0 = 0x4802a000  R8  = 0x9f242f3c

    N:VPSS  P:2 #:01215 T:00000009|ed4f4afb S:R1 = 0x9f29df4c  R9  = 0x9f29dfa8

    N:VPSS  P:2 #:01216 T:00000009|ed4f8463 S:R2 = 0x00000000  R10 = 0x00000003

    N:VPSS  P:2 #:01217 T:00000009|ed4fbd01 S:R3 = 0x00000001  R11 = 0x9ef99e7c

    N:VPSS  P:2 #:01218 T:00000009|ed4ff46f S:R4 = 0x9f29df9c  R12 = 0x9ef9d150

    N:VPSS  P:2 #:01219 T:00000009|ed502efb S:R5 = 0x00000000  SP(R13) = 0x9ef9d1e8

    N:VPSS  P:2 #:01220 T:00000009|ed5068d7 S:R6 = 0x0000ffff  LR(R14) = 0x9f57c79b

    N:VPSS  P:2 #:01221 T:00000009|ed50a46f S:R7 = 0x00000000  PC(R15) = 0x9f5c63a0

    N:VPSS  P:2 #:01222 T:00000009|ed50dd2f S:PSR = 0x41000000

    N:VPSS  P:2 #:01223 T:00000009|ed510bb7 S:ICSR = 0x0440f803

    N:VPSS  P:2 #:01224 T:00000009|ed513a99 S:MMFSR = 0x00

    N:VPSS  P:2 #:01225 T:00000009|ed5163c5 S:BFSR = 0x04

    N:VPSS  P:2 #:01226 T:00000009|ed518e4f S:UFSR = 0x0000

    N:VPSS  P:2 #:01227 T:00000009|ed51ba07 S:HFSR = 0x40000000

    N:VPSS  P:2 #:01228 T:00000009|ed51e897 S:DFSR = 0x00000000

    N:VPSS  P:2 #:01229 T:00000009|ed521603 S:MMAR = 0xe000ed34

    N:VPSS  P:2 #:01230 T:00000009|ed52435f S:BFAR = 0xe000ed38

    N:VPSS  P:2 #:01231 T:00000009|ed527179 S:AFSR = 0x00000000

    N:VPSS  P:2 #:01232 T:00000009|ed529e1b S:FATAL ERROR: ErrorCode:0x1. Terminating Execution...

    **********************************************************************************************************************

    The error also occurs when I run the Multimedia test program in matrix.

    Is there any advise about this problem?

    Thank you.

     

    Regards,

    Lei

  • In the EZSDK file system where you modprobe the vpss.ko, can you qoute the i2c_mode option that is set there? 

    Checking for I2C2 lines from Linux will be difficult as in the EZSDK 5.02 this is being owned and controlled by the VPSS firmware core which is black boxed.

    In EZSDK 5.03, A8 will start owning the I2C2 lines as well and in that situation, it would be easier to test this out. I will check internally on what can be done with the current EZSDK.

    If all else fails, can you try generating a fresh file system by executing the setup.sh in <EZSDK_ROOT_LOCATION> and see if the problem is still there?

    Archith

  • Hi Archith

      Thank you for you reply.

      I don't know how the check the i2c_mode option of vpss.ko.

      But I found a message when the linux booting like below.

    ************************************************************************************

    FIRMWARE: 2 start Successful

    omap_i2c omap_i2c.2: controller timed out

    omap_i2c omap_i2c.2: controller timed out

    VPSS_DCTRL: setup 7375 filter failed

    omap_i2c omap_i2c.2: controller timed out

    VPSS_DCTRL: setup 7360 filter failed.

    cat: write error: No space left on device

    cat: write error: No space left on device

    ************************************************************************************

      I think maybe this is the reason of this problem.

      I havn't tried on a fresh file system, but I think maybe this is a hardware problem. I will check it later on.

     

      Thank you very much.

     

    Regards,

    Lei

  • Thank you.

    Problem fixed by generating a new file system.