Skip to content

Commit c0adac2

Browse files
nordic-baminordic-piks
authored andcommitted
tests: subsys: ipc: Implement IPC latency test
Measure IPC ping-pong message latency between APP<->RAD. Signed-off-by: Bartosz Miller <[email protected]>
1 parent ee47f88 commit c0adac2

21 files changed

+572
-0
lines changed

CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -933,6 +933,7 @@
933933
/tests/subsys/partition_manager/static_pm_file/ @nordicjm @tejlmand
934934
/tests/subsys/pcd/ @nrfconnect/ncs-pluto
935935
/tests/subsys/usb/negotiated_speed/ @nrfconnect/ncs-low-level-test
936+
/tests/subsys/ipc/ @nrfconnect/ncs-low-level-test
936937
/tests/tfm/ @nrfconnect/ncs-aegir @magnev
937938
/tests/unity/ @nordic-krch
938939
/tests/zephyr/boards/nrf/ @nrfconnect/ncs-low-level-test

scripts/ci/tags.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1060,6 +1060,10 @@ ci_samples_ipc:
10601060
- zephyr/drivers/mbox/
10611061
- zephyr/subsys/ipc/
10621062

1063+
ci_tests_subsys_ipc:
1064+
files:
1065+
- nrf/tests/subsys/ipc/
1066+
10631067
ci_samples_benchmarks:
10641068
files:
10651069
- modules/benchmark/
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#
2+
# Copyright (c) 2025 Nordic Semiconductor ASA
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
cmake_minimum_required(VERSION 3.20.0)
8+
9+
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
10+
project(ipc_latency)
11+
12+
FILE(GLOB app_sources src/*.c)
13+
target_sources(app PRIVATE ${app_sources})
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Copyright 2025 Nordic Semiconductor ASA
2+
#
3+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
4+
5+
source "share/sysbuild/Kconfig"
6+
7+
config REMOTE_BOARD
8+
string
9+
default "$(BOARD)/nrf5340/cpunet" if SOC_NRF5340_CPUAPP
10+
default "$(BOARD)/nrf54h20/cpurad" if SOC_NRF54H20_CPUAPP
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_SOC_NRF53_CPUNET_ENABLE=y
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
/ {
8+
aliases {
9+
tst-timer = &timer0;
10+
};
11+
};
12+
13+
&timer0 {
14+
status = "okay";
15+
};
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_SOC_NRF53_CPUNET_ENABLE=y
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
/ {
8+
aliases {
9+
tst-timer = &timer0;
10+
};
11+
};
12+
13+
/delete-node/ &ipc0;
14+
15+
/ {
16+
chosen {
17+
/delete-property/ zephyr,ipc_shm;
18+
/delete-property/ zephyr,bt-hci;
19+
};
20+
21+
reserved-memory {
22+
/delete-node/ memory@20070000;
23+
24+
sram_tx: memory@20070000 {
25+
reg = <0x20070000 0x8000>;
26+
};
27+
28+
sram_rx: memory@20078000 {
29+
reg = <0x20078000 0x8000>;
30+
};
31+
};
32+
33+
ipc0: ipc0 {
34+
compatible = "zephyr,ipc-icmsg";
35+
tx-region = <&sram_tx>;
36+
rx-region = <&sram_rx>;
37+
mboxes = <&mbox 0>, <&mbox 1>;
38+
mbox-names = "tx", "rx";
39+
status = "okay";
40+
};
41+
};
42+
43+
&timer0 {
44+
status = "okay";
45+
};
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_SOC_NRF54H20_CPURAD_ENABLE=y
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
/ {
8+
aliases {
9+
tst-timer = &timer130;
10+
};
11+
};
12+
13+
&timer130 {
14+
status = "okay";
15+
};

0 commit comments

Comments
 (0)