Mismatch API between S32G ipc-shm and ipc-shm-us Linux BSP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Mismatch API between S32G ipc-shm and ipc-shm-us Linux BSP

Jump to solution
2,009 Views
kawin
Contributor III

Hi there,

ipc-shm release/bsp30.0 added multi-instance support while this feature is missing in ipc-shm-us release/bsp30.0.

What is the right ipc-shm and ipc-shm-us versions I should use for Linux BSP 30.0 and IPCF 4.3?

Don't know if you notice this but submodule branch is always pointing to master:

https://source.codeaurora.org/external/autobsps32/ipcf/ipc-shm-us/tree/.gitmodules?h=release%2Fbsp30...

Thank you,

Kawin

Tags (3)
0 Kudos
1 Solution
1,960 Views
andrei_skok
NXP Employee
NXP Employee

Hi Kawin

IPCF is shared between multiple devices, so the targeted device is determined by the branch used. For the S32G2, you will need to use release/SWS32G2_IPCF_4.3.0_D2109 for IPCF 4.3.0 in both repos. For subsequent IPCF releases, the branch name will reflect the IPCF version accordingly but the name will always start with release/SWS32G2.

Within the ipc-shm-us repo, I believe the submodule is improperly configured in which it should be pointing to the release/SWS32G2_IPCF_4.3.0_D2109 branch. In previous releases, it is configured to use the appropriate version's branch in ipc-shm rather than master. We have reached out to the IPCF development team for clarification and will let you know when they reply.

In the meantime, configuring .gitmodules within ipc-shm-us to use the release/SWS32G2_IPCF_4.3.0_D2109 branch of ipc-shm should allow for multi-instance support in userspace applications. You can see this change to multi-instance support throughout ipc-shm.h from the ipc-shm repo. Within this header file, many of the functions have been updated to include the instance number as part of their parameters.

View solution in original post

0 Kudos
3 Replies
1,016 Views
Vineesha
Contributor I

Hi,

I have trouble in IPCF communication between A53 and M7. I am using s32g274 hardware. 

From this link, i have built the modules manually- git clone https://source.codeaurora.org/external/autobsps32/ipcf/ipc-shm/

Copied these ipc-shm-dev.ko, ipc-shm-sample.ko and ipc-shm-uio.ko files to board.

In uboot level, i have executed the below commands, [IPCF_Example_S32G274_M7_0.bin downloaded from NXP]

=> dcache off
=> mw.q 0x34000000 0x0 0x100000
=> fatload mmc 0:1 0x80000000 IPCF_Example_S32G274_M7_0.bin
=> cp.q 0x80000000 0x34300000 0x60000
=> startm7 0x34401000
Starting CM7_0 core at SRAM address 0x34401000 ... done.
=>boot

Board is booted and able to load the modules as shown below:

root@ubuntu-s32g274ateraaceubuntu:/home/bluebox# insmod ipc-shm-dev.ko
root@ubuntu-s32g274ateraaceubuntu:/home/bluebox# insmod  ipc-shm-sample.ko
root@ubuntu-s32g274ateraaceubuntu:/home/bluebox#

While sending the message it is failed:
root@ubuntu-s32g274ateraaceubuntu:/# dmesg -c > /dev/null
root@ubuntu-s32g274ateraaceubuntu:/# echo 10 > /sys/kernel/ipc-shm-sample/ping
root@ubuntu-s32g274ateraaceubuntu:/# [ 2392.119337] ipc-shm-sample: send_data_msg(): failed to get buffer for channel ID 1 and size 16 root@ubuntu-s32g274ateraaceubuntu:/# dmesg -c
[ 2392.119301] ipc-shm-sample: starting demo...
[ 2392.119326] ipc-shm-sample: ch 0 >> 20 bytes: SENDING MESSAGES: 10
[ 2392.119337] ipc-shm-sample: send_data_msg(): failed to get buffer for channel ID 1 and size 16
root@ubuntu-s32g274ateraaceubuntu:/#

Can you please help me. Thanks in advance.

0 Kudos
1,961 Views
andrei_skok
NXP Employee
NXP Employee

Hi Kawin

IPCF is shared between multiple devices, so the targeted device is determined by the branch used. For the S32G2, you will need to use release/SWS32G2_IPCF_4.3.0_D2109 for IPCF 4.3.0 in both repos. For subsequent IPCF releases, the branch name will reflect the IPCF version accordingly but the name will always start with release/SWS32G2.

Within the ipc-shm-us repo, I believe the submodule is improperly configured in which it should be pointing to the release/SWS32G2_IPCF_4.3.0_D2109 branch. In previous releases, it is configured to use the appropriate version's branch in ipc-shm rather than master. We have reached out to the IPCF development team for clarification and will let you know when they reply.

In the meantime, configuring .gitmodules within ipc-shm-us to use the release/SWS32G2_IPCF_4.3.0_D2109 branch of ipc-shm should allow for multi-instance support in userspace applications. You can see this change to multi-instance support throughout ipc-shm.h from the ipc-shm repo. Within this header file, many of the functions have been updated to include the instance number as part of their parameters.

0 Kudos
1,994 Views
kawin
Contributor III

Any updates on this?

0 Kudos