m4 core 1 nameservice not announced

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

m4 core 1 nameservice not announced

314 Views
Ahelion
Contributor IV

Hello Experts,

I have the imx8qm mek board and I want to test the rpmsg between M4 core 1 and Linux.

One M4 core 0 everything works, but on M4 core 1 it does not.

This line of the code is never executed:

(void)PRINTF("Nameservice announce sent.\r\n");
Does anybody have an idee what can be done?

Ahelion_0-1712738062197.png

The rpmsg dtb file was loaded.

Br,

 

Tags (1)
0 Kudos
7 Replies

298 Views
joanxie
NXP TechSupport
NXP TechSupport

I assume that you use rpmsg_lite_pingpong_rtos example, right? refer to the readme, it seems your print information is correct

"#define RPMSG_LITE_SHMEM_BASE 0x90010000" in main_remote.c for Cortex-M4 core0,
"#define RPMSG_LITE_SHMEM_BASE 0x90110000" for Cortex-M4 core1.

Running the demo
================
This examples shows how to implement the inter-core communicaton between Cortex-M4 core and Cortex-A core using rpmsg-lite library.
After the boot process succeeds, the ARM Cortex-M4 core0 terminal displays the following information:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0x90010000
Link is up!
Nameservice announce sent.
Waiting for ping...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For Cortex-M4 core1 terminal displays the following information:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0x90110000
app_srtm: AUTO and I2C service registered
Link is up!
Nameservice announce sent.
Waiting for ping...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M4 terminal displays the following information:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

0 Kudos

294 Views
Ahelion
Contributor IV
I read the readme, but the M4 core 1 example does not work, and the readme does not say why...Any ideea?
0 Kudos

269 Views
joanxie
NXP TechSupport
NXP TechSupport

pls tell me which detailed demo you test? 

0 Kudos

264 Views
Ahelion
Contributor IV
the m4 core1 pinpong example lite: MEK-MIMX8QM-rpmsg_lite_pingpong_rtos_linux_remote_m41.zip
0 Kudos

260 Views
joanxie
NXP TechSupport
NXP TechSupport

what SDK version do you test?

0 Kudos

243 Views
Ahelion
Contributor IV
2.9.0 , the latest one.
The rpmsg stuff works well between Linux and core 0 of M4, the problem is core 1.
0 Kudos

125 Views
joanxie
NXP TechSupport
NXP TechSupport

pls check the steps as below, if still failed, pls share your detailed test steps, we already tested these files before release

  1. Use M4 uboot : imx-boot-imx8qmmek-sd.bin-flash_linux_m4
  2. Image: default dtb is imx8qm-mek-rpmsg.dtb
  3. imx8qm_m4_0_TCM_rpmsg_lite_pingpong_rtos_linux_remote_m40.bin  -> rename to m4_0.bin - cp on boot partition
    imx8qm_m4_1_TCM_rpmsg_lite_pingpong_rtos_linux_remote_m41.bin -> rename to  m4_1.bin - cp on boot partition
  4. Open all 4 ttyUSB<x>
  5. Power on the system and stop in Uboot:
  6. Uboot> run m4boot_0
  7. Uboot> run m4boot_1
  8. Uboot>boot
  9. imx8qmmek:~#insmod /lib/modules/5.10.72-lts-5.10.y+g48772d50cdec/kernel/drivers/rpmsg/imx_rpmsg_pingpong.ko
0 Kudos