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.

IPC client and server program is not working between A15 core0 and A15 core1

Other Parts Discussed in Thread: AM5728, SYSBIOS

Hi,

         In our AM5728 EVB with the IPC makefile project example provided by TI RTOS PDK 08_01_00_09 , sysbios 6_76_03_01, I have modified the code for host core to run as server , M4 core and DSP cores running as clients in this case the IPC is working fine as expected, I'm not sure how to change the configurations to make this example work between A15 core0 and A15 core1, I'm stuck here please provide some support regarding this.

In the below attached file please check main files of the Host , IPU1 and DSP1 directories for modified code.

UED_IPC_A15_M4_DSP_code_base.zip

Thanks ,

Phaneesh A Kashyap

  • Hi,

    Assigning this to our IPC experts.
    Please note that due to regional holiday in India, half of out team is on vacation. Please expect a delay of 2~3 days in response.

    Apologies for delay and thank you for your patience.

    Regards,
    Parth

  • Hi Parth,

              Thanks for your response , please check this issue as soon as possible this is critical for us.

    Regards,

    Phaneesh A

  • Hi Jouse,

               I have working IPC code between host,DSP and M4 which I have attached above, I have modified the above code using ex_ping makefile based project which is generated in IPC_examples in IPC installed directory where the globally declared multiproc list only has host as option but  I also want add  host0 and host1 so that I can implement IPC messagequeue activity between A15 core0 and core1.

    I'm not where is that globally declared multiproc list file is located to make the above mentioned changes.

    Thanks

    Phaneesh a

  • Phaneesh,

    If I understand you correctly, you want to have two hosts, one per core of the A15 processor? Is my understanding correct?

    -Josue

  • Jouse

           Yes I need need two cores A15 core0 should be used as server and A15 core1 should be used as client for IPC. I've working code for host and IPU1 but with the existing Makefile based IPC example ping project I have renamed host directory as host0 and copied the message queue server code and similarly created host1 directory and copied client code and in toplevel makefile I have added host0 and host1 for PROC_LIST variable .

    In shared region also I have added host0 and host1 memory region in config.bld inside shared directory, when I tried to build the project I've got the errro as follows.

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    15:10:08 **** Build of configuration Default for project ex11_ping_bkp ****
    make all
    #
    # Making host0 ...
    C:/ProgramData/chocolatey/lib/make/tools/install/bin/make.exe -C host0 PROCLIST="host0 host1"
    make[1]: Entering directory 'C:/Users/Lekha/Desktop/IUED/testbench/work/AM5728/ex11_ping_bkp/host0'
    C:/ProgramData/chocolatey/lib/make/tools/install/bin/make.exe PROFILE=debug PROCLIST="host0 host1" server_host.x
    make[2]: Entering directory 'C:/Users/Lekha/Desktop/IUED/testbench/work/AM5728/ex11_ping_bkp/host0'
    #
    # Making bin/debug/configuro/linker.cmd ...
    C:\Users\Lekha\Desktop\IUED\testbench\Depot/xdctools_3_55_02_22_core/xs --xdcpath="C:\Users\Lekha\Desktop\IUED\testbench\Depot/bios_6_76_03_01/packages;C:\Users\Lekha\Desktop\IUED\testbench\Depot/ipc_3_50_04_08/packages;C:\Users\Lekha\Desktop\IUED\testbench\Depot/xdctools_3_55_02_22_core/packages" \
    xdc.tools.configuro -o bin/debug/configuro \
    -t gnu.targets.arm.A15F \
    -c C:\Users\Lekha\Desktop\IUED\testbench\Depot/gcc-arm-none-eabi-7-2018-q2-update \
    -p ti.platforms.evmAM572X:host \
    -b ../shared/config.bld -r release \
    --cfgArgs "{ \
    procList: \"host0 host1\", \
    profile: \"debug\" \
    }" Host.cfg
    configuring Host.xa15fg from package/cfg/Host_pa15fg.cfg ...
    error: ti.sdo.utils.MultiProc: "C:/Users/Lekha/Desktop/IUED/testbench/Depot/ipc_3_50_04_08/packages/ti/sdo/utils/MultiProc.xs", line 152: ti.sdo.utils.MultiProc : The MultiProc name (HOST0) does not match any of the following possible names on the device (DRA7XX): DSP1, DSP2, EVE1, EVE2, EVE3, EVE4, IPU1, IPU2, IPU1-0, IPU1-1, IPU2-0, IPU2-1, HOST
    error: ti.sdo.utils.MultiProc: "C:/Users/Lekha/Desktop/IUED/testbench/Depot/ipc_3_50_04_08/packages/ti/sdo/utils/MultiProc.xs", line 152: ti.sdo.utils.MultiProc : The MultiProc name (HOST1) does not match any of the following possible names on the device (DRA7XX): DSP1, DSP2, EVE1, EVE2, EVE3, EVE4, IPU1, IPU2, IPU1-0, IPU1-1, IPU2-0, IPU2-1, HOST
    js: "C:/Users/Lekha/Desktop/IUED/testbench/work/AM5728/ex11_ping_bkp/shared/ipc.cfg.xs", line 59: TypeError: Cannot read property "base" from undefined (C:/Users/Lekha/Desktop/IUED/testbench/work/AM5728/ex11_ping_bkp/shared/ipc.cfg.xs#59)
    "C:/Users/Lekha/Desktop/IUED/testbench/work/AM5728/ex11_ping_bkp/host0/Host.cfg", line 65
    "./package/cfg/Host_pa15fg.cfg", line 196
    xdctools_3_55_02_22_core\gmake.exe: *** [package.mak:234: package/cfg/Host_pa15fg.xdl] Error 1
    js: "C:/Users/Lekha/Desktop/IUED/testbench/Depot/xdctools_3_55_02_22_core/packages/xdc/tools/Cmdr.xs", line 52: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
    make[2]: *** [makefile:72: bin/debug/configuro/linker.cmd] Error 1
    make[2]: Leaving directory 'C:/Users/Lekha/Desktop/IUED/testbench/work/AM5728/ex11_ping_bkp/host0'
    make[1]: *** [makefile:53: all] Error 2
    make[1]: Leaving directory 'C:/Users/Lekha/Desktop/IUED/testbench/work/AM5728/ex11_ping_bkp/host0'
    make: *** [makefile:52: host0] Error 2

    ------------------------------------------------------------------------------------------------------------------------------------------------

    I have attached the project zipfile, with the changes mention above , please have a look on this.

    Thanks

    Phaneesh A

    host0_host1_ipc_test.zip

  • Hello Phaneesh,

    Unfortunately this is not a configuration that is supported by our SDK. The A15 is only used as host and not split up by cores. For example, on the Linux case, the OS treats the cores in SMP mode and we do not support having Linux run on each of the cores (AMP mode).

    Regards,

    Josue

  • Hi Josue,

                 Even in RTOS also it's not supported ??, But in our project we are going to use both A15 core0 and A15 core1 to run a certain task on each cores and we need these cores to communicated with each other so we are trying IPC message queue. If this config is not possible is there any way for IPC between A15_0 and A15_1.

    Thanks

    Phaneesh A 

  • Hello Phaneesh,

    I believe that might be the case here. I am not saying that it is not possible but it might not be tested nor validated, therefore TI does not support it. I will reach out to the development team to ask and get back to you, hopefully by the end of the week depending on the response time.

    Regards,

    Josue

  • Hi Josue,

                    Please provide solution for this as soon as possible , this is critical for us.

    Regards,

    Phaneesh A

  • Phaneesh,

    I understand that this is urgent for you. I have contacted the developers and I will reply as soon as they respond. Unfortunately one of the subject experts is OoO indefinitely so please expect extended delays.

    -Josue

  • Hi Josue,

                    Any update on this issue.

    Regards,

    Phaneesh

  • No Phaneesh,

    Not yet. Half our team is out for this week due to regional holidays.

    -Josue

  • Hello Phaneesh,

    I have confirmed that this is a configuration not supported by the RTOS (SYSBIOS) SDK:

    Please see the included documentation for MultiProc where AM572x falls under Vayu:

    <SDK_INSTALL_DIR>/processor_sdk_rtos_am57xx_08_01_00_09/ipc_3_50_04_08/docs/doxygen/html/_multi_proc_8h.html

    Any implementation on a case outside our standard offering is on the customer to implement.

    Please refer to the cdoc for MultiProc for more information.

    Apologies for the delay.

    Regards,

    Josue