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.

TDA4VM: app_multi_cam Program running failure

Part Number: TDA4VM
Other Parts Discussed in Thread: TDA4VH-Q1

hi ti

sdk:ti-processor-sdk-rtos-j721e-evm-08_01_00_13

The app_multi_cam image acquisition program in the SDK runs successfully when the machine is powered on for the first time, but after you kill the app_multi_cam program, manually starting it again results in an error. 
May I ask how to solve this problem?

app_multi_cam.tar.gz 

  • Hi Yang,

    but after you kill the app_multi_cam program, manually starting it again results in an error. 

    When you kill the app_multi_cam app it will just stop the a72's process, and the remote core (mcu2_0) de-init will not happen at that time.

    So when you kill the process you should trap that signal and have handler that de-initialize the application properly which will send ipc command for remote cores to free up the resources.

    Refer,

     [FAQ] TDA4VH-Q1: Why does a custom application not exit cleanly when Ctrl-C is invoked? 

    Regards,
    Gokul

  • HI  TI 
    I have read the  [FAQ] TDA4VH-Q1: Why does a custom application not exit cleanly when Ctrl-C is invoked?  for the TDA4VH-Q1. In the document, it only shows how to capture the Ctrl-C signal, but I did not see any code example demonstrating how to send an IPC command to the remote cores to release the resources on those cores.
    Could you please provide a supplementary example for this part? Thank you very much.

  • Hi Yang,

    If you go through the code, ctrl+C handler will break the loop and the subsequent function will get called, which is the delete() deinit() api's  (app_delete_graph(), and app_deinit() to be precise) 

    You can browse through the demo to understand what subsequent api's are called inside.

    If you look inside these api's there will be releasenode and releasecontext functions which will  send the commands to deinit the remote core resources.

    Sending ipc command is abstracted inside the tiovx framework.

    During application start framework takes care of initializing the resources on the remote cores, similarly calling the delete() and deinit() api's will make sure the resources are freed.

    If the process is exited without calling these deinit api's, then next time it will fail to allocate the resources.

    Regards,
    Gokul