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.

TDA3XEVM: VSDK 3.2: Minimum ISS capture video chain

Part Number: TDA3XEVM
Other Parts Discussed in Thread: SYSBIOS

Hallo,

I've tried to get small chains using the iss capture running. I'm using the TDA3RVP-Skateboard, where all 4 OV10635 are connected.
All my tries failed in that way, that I saw the graphics working but not the video.


UseCase: chains_simple_videodisplay

// Capture video and show
IssCapture -> IssM2mIsp -> Display_Video
// AEWB
IssM2mIsp -> Alg_IssAewb
// Graphics
GrpxSrc -> Display_Grpx

Is this chain in principle correct or do I have to add something other.

I'm not really sure if there is just something missing or if I made mistakes inside the software when setting up video-part of the chain.

My problem is, that I do not find any useful documentation on how to use the given algorithmns like Aewb and how to setup e.g. the issCapture link. etc. I just found a chm file which does not contain useful descriptions.

Thank you in advance for helping me to make my first own tries not to frustrating!


Regards,

Guenter

  • PS.: I have to add, that I used as base for setting up my own chain the sample chain "chains_issMultCaptIspDeWarpRearView3dSv", which I modified and got running standalone.

  • Hi Guenter,

    I have forwarded your question to ISS experts.

    Regards,
    Yordan
  • Hi Guenter,

    ISP links cannot be used for OV10635 as this is YUV camera..
    You could remove ISP links and keep IssCapture link. Since it is capturing in YUV format, you could connect Capture output to Display directly by selecting one of the channel.

    but before that, can you check if capture is really working? You could print stats and see if capture fps is 30..

    Rgds,
    Brijesh
  • Hi Guenter,

    Probably, you could refer "csi2_cal_multi_cam_view"

    Regards, Sujith

  • Hi Brijesh,

    I'm still using the OV10640 which has been delivered together with the skateboard. So that's here not the problem.

    Regrads Guenter
  • Hi Guenter,

    ok, i did not get the problem that you are facing.. Is the usecase with OV10640 sensor working fine?

    Regards,
    Brijesh
  • Hi Brijesh,

    no, this usecase does not work and I'm still wondering why. So currently I'm trying to get the debugging working in that way, that it is really reliant. Currently I'm struggling with the breakpoints which can be set but will not cause stopping the program. So it is very hard for me to find out the reason.

    I could imagine that it must have to do with the capture and display setup together with the Aewb-algo. I want to display only one channel and I could not find out, how I can select which of the four given channels shall be caputured and shown and shall be used by the Aewb-algo. Is there any documentation available which I might have overseen? I did not find any. :-( So I asume that I properly di not use the mdoules properly (even I got all settings from an example module).

    The log itself shows, that the capturing runs.

    In between I've tested a lot of combinations using subchains which I switched via gates, but I always see only the graphic layer but not the video. There must be a basic thing that I'm doing wrong here.

    Maybe you can give me a suggestion where I can read more about the iss-links like ISSM2MISP, ISSCAPTURE and ISSSIMCOP so that I can parametrize them correctly. That would be helpful.

    Thanks in advance for your help!

    Regrads,

    Guenter

  • Hi Guenter,

    Yes, there is a select link in VSDK to select one of the input channel and forward it to the next link. So you could use it second one of the captured channel and process and display it.
    Btw, which usecase you are trying to run? In most of the SRV uecases, there is a sync link in the chain, which tries to synchronize the incoming frame multple channels. If the frames received are off by single frame time period, it drops this frame. This might be the reason why you are seeing any display even if the capture is working. Could you please check if capture is really working at 30fps for each channel? What is the driver notify fps? it should be around 120fps..

    Regards,
    Brijesh
  • I think the reason is that the chain crashes by any reason I do not know. From the debugger I got the Output, which tells "NOCP:Attempting to use co-processor" and I do not know why:



    [Cortex_M4_IPU1_C0] ti.sysbios.family.arm.m3.Hwi: line 1105: ti.sysbios.family.arm.m3.Hwi: line 1105: E_hardFault: FORCED
    ti.sysbios.family.arm.m3.Hwi: line 1217: ti.sysbios.family.arm.m3.Hwi: line 1217: E_usageFault: NOCP: Attempting to use co-processor
    Exception occurred in background thread at PC = 0x81bda334.
    Core 0: Exception occurred in ThreadType_Task.
    Task name: {unknown-instance-name}, handle: 0x83763134.
    Task stack base: 0x83672ae0.
    Task stack size: 0x4000.
    R0 = 0x00000000 R8 = 0xffffffff
    R1 = 0x10000000 R9 = 0xffffffff
    R2 = 0x00000001 R10 = 0xffffffff
    R3 = 0x00000002 R11 = 0xffffffff
    R4 = 0xffffffff R12 = 0x29d10200
    R5 = 0xffffffff SP(R13) = 0x83676aa0
    R6 = 0xffffffff LR(R14) = 0x81c0f97f
    R7 = 0xffffffff PC(R15) = 0x81bda334
    PSR = 0x61000000
    ICSR = 0x1040e803
    MMFSR = 0x00
    BFSR = 0x00
    UFSR = 0x0008
    HFSR = 0x40000000
    DFSR = 0x00000001
    MMAR = 0xe000ed34
    BFAR = 0xe000ed38
    AFSR = 0x00000000
    Unhandled Exception:
    Exception occurred in ThreadType_Taskhandle: 0x83763134.
    stack base: 0x83672ae0.
    R0 = 0x00000000 R8 = 0xffffffff
    R1 = 0x10000000 R9 = 0xffffffff
    R2 = 0x00000001 R10 = 0xffffffff
    R3 = 0x00000002 R11 = 0xffffffff
    R4 = 0xffffffff R12 = 0x29d10200
    R5 = 0xffffffff SP(R13) = 0x83676aa0
    R6 = 0xffffffff LR(R14) = 0x81c0f97f
    R7 = 0xffffffff PC(R15) = 0x81bda334
    PSR = 0x61000000
    ICSR = 0x1040e803
    MMFSR = 0x00
    BFSR = 0x00
    UFSR = 0x0008
    HFSR = 0x40000000
    DFSR = 0x00000001
    MMAR = 0xe000ed34
    BFAR = 0xe000ed38
    AFSR = 0x00000000
    Terminating Execution...Terminating execution...

    After this the Graphics will still be shown whereas the remaining system does not work.
    Is someone there, who can imagine what I made wrong? I'm currently just using the simple chain below:


    UseCase: chains_test
    IssCapture -> IssM2mIsp -> Select -> IssM2mResizer_1 -> Display_Video
    // AEWB
    IssM2mIsp -> Alg_IssAewb
    // Grafik
    GrpxSrc -> Display_Grpx



    Regards,
    Guenter

  • Hi Guenter,

    Creating usecase is one part, another part is to change each of these links create parameters based on your requirement.
    You need to change select links settings to select one of the input channel, you need to configure issCapture link for multi channel, isp link for multi channel and isp parameters. Please go through the multi channel usecase on Tda3xx to get the idea what all changes/configuration required.

    Regards,
    Brijesh
  • Hi Guennie,

    Also there seems to be issue at the PC location 0x81bda334 and in the function at LR(R14) = 0x81c0f97f. Can you open disassembly window and see what is this function and where exactly it is crashing?

    Regards,
    Brijesh
  • Hi Guenter,

    Have you been able to compare ISP/capture/AEWB configuration with the SRV usecase and does it look correct? 

    Also did you get the chance to see where exactly it is crashing?

    Regards,

    Brijesh

  • I solved the problem by re-building the chain completly using the same base as before. I found in another thread what I had to take care about. It was a mixture of the SimCop's blocksize and switching the display channels. But thank you all for trying to help me.