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.

DM8127 IPNC RDK:how to run a simple independent app within the RDK?

Hi,

  I'm using IPNC RDK ver3.5 fot DM8127. Through editing the usecase file(multich_tristreamfullfeature.c for example)I can change how my dataflow is set. Now I want to run a very simple app,for example:the camera captures some pictures and sends them to dsp for processing,and dsp sends the results back to arm and print them on Xshell in a callback function.

  As far as I know, some init functions and a usecase file should already be enough for such a simple purpose,so I don't want to use any files under ipnc_app folder and any original app design in the RDK,is that possible?

  If that is possible,what files should I delete in RDK and what makefile should I change? 

  Hope someone could give me some advices,Thank you for your patience.

regards,

Zhao

   

  • Hi Zhao,

    I will notify the IPNC RDK team for help.

    Regards,
    Pavel

  • Hi,

    In the ..\ipnc_rdk\ipnc_app\root_filesys\etc\init.d\finish_ubifs.sh file pl. make the following changes:

    #./system_server&
    #sleep 7
    #./autorun_ipnc.sh&

    # Load the M3 binaries
    ./scripts/load_vpss.sh&
    ./scripts/load_video.sh&
    ./scripts/wait_cmd.sh s m3vpss
    ./scripts/wait_cmd.sh s m3video

    # Run your application
    ./bin/ipnc_rdk_mcfw.out LDC VNF_QUALITY TRISTREAM TRIPLE_H264 APPRO2A AEWB 1080P_D1 H264 HIGH_SPEED1 H264 HIGH_SPEED2 MJPEG 80

    regards,

    Anand

  • Hi Anand,

    Thank you for your reply,I've tried as you adviced but can't get the results I expect and I also have some questions about your advice.

    1. I don't understand what the file "finish_ubifs.sh" is used for, is there any related documents I missed?And In my system I used dsp,do I need to add"./scripts/load_c6xdsp.sh&" and "./scripts/wait_cmd.sh s c6xdsp"?

    2. When I change \ipnc_rdk\ipnc_app\root_filesys\etc\init.d\finish_ubifs.sh and use commend "make -s fsupdate",I find the finish_ubifs.sh in filesys under target folder dosen't change at all,so I have to copy this file to filesys,is that right?

    3. I don't know what ipnc_rdk_mcfw.out is used for,and why there have to be so many params like "LDC VNF_QUALITY TRISTREAM TRIPLE_H264 APPRO2A AEWB 1080P_D1 H264 HIGH_SPEED1 H264 HIGH_SPEED2 MJPEG 80" following ipnc_rdk_mcfw.out?what if I want to run another usecase,do I have to change these params accordingly?

    4. My original thought is to remove the whole ipnc_app folder and the stream related part in ipnc_mcfw folder(I find that solution in another post),and your advice seems to only start the part I want when init,which one is the better way to get an independent mcfw from RDK?

    Thank you for your patience.

    regards,

    Zhao

     

  • Hi,

    My replies.

    1. Yes you need to add dsp code load system call.
    2. The 'fsupdate' will copy the finish_ubifs.sh file to the target file system.Pl. check again.
    3. The 'ipnc_rdk_mcfw.out' is the IPNC RDK application process. You may not launch your application from here instead do it from the target shell prompt. 
    4. In the above procedure ipnc_app is not running at all.

     

    regards,

    Anand

  • Hi Anand,

    You explaination is very helpful.

    1.but I still don't understand why ipnc_rdk_mcfw.out in the script is followed by a lot of params(maybe they are not params?)like this:

    ./bin/ipnc_rdk_mcfw.out LDC VNF_QUALITY TRISTREAM TRIPLE_H264 APPRO2A AEWB 1080P_D1 H264 HIGH_SPEED1 H264 HIGH_SPEED2 MJPEG 80.

    what are they used for,are they specified for tristream_fullfeature usecase only?If I run another usecase do I have to change them.

    2.Is it possible to remove ipnc_app and stream part in ipnc_mcfw from RDK,since I'd like to run other apps instead of those provided by RDK on top of MCFW part in RDK later,so I'm really interested in how to get a pure and independent MCFW package from RDK and will it takes a lot of effort to achieve such a goal?

    Thank you.

    regards,

    Zhao

     

  • Hi,

    My replies.

    1. Yes that long list is of command line arguments to the ipnc application. The parsing of this list is done in main() fn defined in ..\ipnc_rdk\ipnc_mcfw\demos\mcfw_api_demos\multich_usecase\ti_mcfw_ipnc_main.c file. These arguments vary with the usecase for eg, if 'LDC' argument will enable LDC algorithm in the full feature use case.
    2. If you don't run the system_server process then none of the code in ipnc_app will run. In this case your app will use either default parameters or the parameters passed as command line arguments.

    You can write your own usecase and if you are using any of the data from 'gUI_mcfw_config' structure then those values should be passed as command line arguments and you should parse them in the main() fn.

    regards,

    Anand

  • Hi Anand,

    Thank you for reply.but I sitll have some more questions...

    hope that doesn't drive you mad since I'm not quite familiar with the app-side code in RDK,I only read most of the code under ipnc_mcfw folder,editing links and usecases,and I know nothing about the scripts to load everything and make the system works.if you have some documents to recommend I'll be very grateful.

    1."In this case your app will use either default parameters or the parameters passed as command line arguments."what do you mean here by saying app,does app means those under ipnc_app folder?or those related with ti_mcfw_ipnc_main.c under ipnc_mcfw?

    2.By running ipnc_rdk_mcfw.out,I'm running all the code under ipnc_mcfw folder,is that right?

    3.By changing the script as you adviced,the system_server won't start and none of the code in ipnc_app will run. what if I want to run some other app (which should be located at ipnc_app folder)like a new webserver based on MCFW in rdk,do I have to write a new script just as the system_server does to start my own app and add them to finish_ubifs.sh too?

    It's so kind of you to help me so many times.☺

    regards,

    Zhao