Skip to content

Commit

Permalink
samples: benchmarks: coremark: add FLPR support for nRF54H20 DK
Browse files Browse the repository at this point in the history
Added the FLPR core support for the nRF54H20 DK board target in the
CoreMark sample.

Ref: NCSDK-30327

Signed-off-by: Kamil Piszczek <[email protected]>
  • Loading branch information
kapi-no committed Feb 26, 2025
1 parent 6b39efb commit c2bb431
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -577,7 +577,7 @@ Other samples
* Added:

* Support for the nRF54L05 and nRF54L10 SoCs (emulated on nRF54L15 DK).
* FLPR core support for the :ref:`zephyr:nrf54l15dk_nrf54l15` board target.
* FLPR core support for the :ref:`zephyr:nrf54l15dk_nrf54l15` and the :ref:`zephyr:nrf54h20dk_nrf54h20` board target.

Drivers
=======
Expand Down
2 changes: 1 addition & 1 deletion samples/benchmarks/coremark/Kconfig.sysbuild
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ source "share/sysbuild/Kconfig"

config APP_CPUFLPR_RUN
bool "Run the CoreMark benchmark on the FLPR core"
depends on SUPPORT_FLPRCORE && !SOC_NRF54H20_CPUAPP
depends on SUPPORT_FLPRCORE
default y

config APP_CPUNET_RUN
Expand Down
5 changes: 2 additions & 3 deletions samples/benchmarks/coremark/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -167,8 +167,8 @@ CONFIG_APP_MODE_FLASH_AND_RUN - Start CoreMark sample automatically after flashi
Otherwise, it will wait for the button press.

.. note::
The :kconfig:option:`CONFIG_APP_MODE_FLASH_AND_RUN` Kconfig option is always enabled for the PPR core on the ``nrf54h20dk/nrf54h20/cpuapp`` board target.
This core on the ``nrf54h20dk/nrf54h20/cpuapp`` board target does not use the on-board buttons and LEDs.
The :kconfig:option:`CONFIG_APP_MODE_FLASH_AND_RUN` Kconfig option is always enabled for the PPR and FLPR cores on the ``nrf54h20dk/nrf54h20/cpuapp`` board target.
These cores on the ``nrf54h20dk/nrf54h20/cpuapp`` board target do not use the on-board buttons and LEDs.

.. _SB_CONFIG_APP_CPUFLPR_RUN:

Expand All @@ -180,7 +180,6 @@ SB_CONFIG_APP_CPUFLPR_RUN - Enable the benchmark execution also for the FLPR cor

This option is not supported for the following board targets that include an SoC with the FLPR core:

* ``nrf54h20dk/nrf54h20/cpuapp``
* ``nrf54l15dk/nrf54l05/cpuapp``
* ``nrf54l15dk/nrf54l10/cpuapp``

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@
status = "okay";
};

/* DTS nodes required to run the cpuflpr target. */
&cpuflpr_vpr {
status = "okay";
};

/* DTS nodes required to run the cpuppr target. */
&cpuppr_vpr {
status = "okay";
Expand All @@ -46,7 +51,8 @@

&tddconf {
status = "okay";
etrsources = <(NRF_TDDCONF_SOURCE_STMMAINCORE | NRF_TDDCONF_SOURCE_STMPPR)>;
etrsources = <(NRF_TDDCONF_SOURCE_STMMAINCORE | NRF_TDDCONF_SOURCE_STMPPR |
NRF_TDDCONF_SOURCE_STMFLPR)>;
portconfig = <0>;
etrbuffer = <&etr_buffer>;
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#
# Copyright (c) 2025 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause

CONFIG_COREMARK_ITERATIONS=10000

# Disable the UART console Kconfig to make Kconfig configuration with the DTS configuration.
CONFIG_UART_CONSOLE=n

# Kconfigs required for the STM standalone logging, imported from the nordic-log-stm snippet.
CONFIG_TEST_LOGGING_DEFAULTS=n
CONFIG_LOG_FRONTEND=y
CONFIG_LOG_FRONTEND_ONLY=y
CONFIG_LOG_FRONTEND_STMESP=y
CONFIG_LOG_FRONTEND_STMESP_FSC=y

# Disable the NCS boot banner - the application core is responsible for printing the boot banner.
CONFIG_NCS_BOOT_BANNER=n
CONFIG_BOOT_BANNER=n

# Reduce speed optimizations to fit the sample into the TCM of the FLPR core.
# Removed the following options from the default configuration (prj.conf):
# -funroll-loops
CONFIG_COMPILER_OPT="-O3 -fno-lto -fno-pie -fno-pic -ffunction-sections -fdata-sections"
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
* Copyright (c) 2025 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
*/

/* Disable the default UART node for the FLPR core, as logs are forwarded
* with STM and the application core UART. This setting also prevents access
* issues to the same UART instance from two or more different cores.
*/
&uart120 {
status = "disabled";
};

0 comments on commit c2bb431

Please sign in to comment.