双核SOC/5340 应用和网络核间通讯

发布于:2025-06-27 ⋅ 阅读:(17) ⋅ 点赞:(0)

1: 可以在 nRF Connect SDK 文件夹结构的 samples/ipc/ipc_service 下找到示例,应用和网络核心在由 CONFIG_APP_IPC_SERVICE_SEND_INTERVAL 选项指定的时隙内相互发送数据。可以更改该值并观察每个核心的吞吐量如何变化

nRF5340 DK
可以使用 RPMsg 或 ICMSG 后端来构建示例,对于默认的 RPMsg 后端,请使用以下命令:

west build -p -b nrf5340dk/nrf5340/cpuapp

对于 ICMSG 后端,请使用以下命令:

west build -p -b nrf5340dk/nrf5340/cpuapp -T sample.ipc.ipc_service.nrf5340dk_icmsg_default .

2:可用于验证当只有一个核心发送数据时的吞吐量。在构建 IPC 示例时使用这些覆盖层来测试以下场景


网络或应用核心通过 IPC 服务使用 RPMsg 发送数据:

west build -p -b nrf5340dk/nrf5340/cpuapp -T sample.ipc.ipc_service.nrf5340dk_rpmsg_cpuapp_sending .
west build -p -b nrf5340dk/nrf5340/cpuapp -T sample.ipc.ipc_service.nrf5340dk_rpmsg_cpunet_sending .

网络或应用核心通过 IPC 服务使用 ICMsg 后端发送数据:

west build -p -b nrf5340dk/nrf5340/cpuapp -T sample.ipc.ipc_service.nrf5340dk_icmsg_cpuapp_sending .
west build -p -b nrf5340dk/nrf5340/cpuapp -T sample.ipc.ipc_service.nrf5340dk_icmsg_cpunet_sending .

3:测试

在默认配置中,应用程序和网络核心会周期性地打印出由对方核心发送的数据的接收速度。


在将示例程序编程到您的开发板上后,通过执行以下步骤进行测试:

  1. 使用终端模拟器(例如 Serial Terminal 应用)连接到套件。有关所需设置和步骤,请参阅测试与优化。

  2. Reset the kit.  

  3. 观察两个核心的控制台输出


对于应用核心,输出类似于以下内容:

*** Booting Zephyr OS build v3.0.99-ncs1  ***
IPC-service nrf5340dk/nrf5340/cpuapp demo started
Δpkt: 9391 (100 B/pkt) | throughput: 7512800 bit/s
Δpkt: 9389 (100 B/pkt) | throughput: 7511200 bit/s
Δpkt: 9388 (100 B/pkt) | throughput: 7510400 bit/s
Δpkt: 9390 (100 B/pkt) | throughput: 7512000 bit/s
Δpkt: 9396 (100 B/pkt) | throughput: 7516800 bit/s

对于网络核心,输出类似于以下内容:
*** Booting Zephyr OS build v3.0.99-ncs1  ***
IPC-service nrf5340dk/nrf5340/cpunet demo started
Δpkt: 6665 (100 B/pkt) | throughput: 5332000 bit/s
Δpkt: 6664 (100 B/pkt) | throughput: 5331200 bit/s
Δpkt: 6658 (100 B/pkt) | throughput: 5326400 bit/s
Δpkt: 6665 (100 B/pkt) | throughput: 5332000 bit/s
Δpkt: 6671 (100 B/pkt) | throughput: 5336800 bit/s


网站公告

今日签到

点亮在社区的每一天
去签到