m4 core 1 nameservice not announced

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

m4 core 1 nameservice not announced

1,826 次查看
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,

 

标记 (1)
0 项奖励
回复
7 回复数

1,810 次查看
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 项奖励
回复

1,806 次查看
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 项奖励
回复

1,781 次查看
joanxie
NXP TechSupport
NXP TechSupport

pls tell me which detailed demo you test? 

0 项奖励
回复

1,776 次查看
Ahelion
Contributor IV
the m4 core1 pinpong example lite: MEK-MIMX8QM-rpmsg_lite_pingpong_rtos_linux_remote_m41.zip
0 项奖励
回复

1,772 次查看
joanxie
NXP TechSupport
NXP TechSupport

what SDK version do you test?

0 项奖励
回复

1,755 次查看
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 项奖励
回复

1,637 次查看
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 项奖励
回复