Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

samples: basic: add multitarget_hello_world #69652

Merged
merged 2 commits into from
May 13, 2024

Conversation

gmarull
Copy link
Member

@gmarull gmarull commented Mar 1, 2024

Add a new "hello world" sample that can be built for multiple board
targets. This sample can be used to see if Zephyr boots successfully
with minimal configuration on SoCs with multiple cores, or boards with
multiple SoCs.

The following configurations are provided for now:

  • nRF5340 DK: cpuapp+cpunet
  • nRF54H20 DK: cpuapp+cpurad, cpuapp+cpuppr, cpuapp+cpuppr(xip)

Note that because of a quoting bug somewhere in the build system, SB_CONFIG_REMOTE_BOARD is specified in .conf files (see the sysbuild/ directory). This should be fixed in the near future.

gmarull added a commit to teslabs/sdk-zephyr that referenced this pull request Mar 1, 2024
Add a new "hello world" sample that boots on multiple cores. This sample
can be used to see if Zephyr boots successfully with _minimal_
configuration on SoCs with multiple cores.

The following configurations are provided for now:

- nRF5340 DK: cpuapp+cpunet
- nRF54H20 PDK: cpuapp+cpurad, cpuapp+cpuppr, cpuapp+cpuppr(ram)

Note that because of a quoting bug somewhere in the build system,
SB_CONFIG_REMOTE_BOARD is specified in .conf files (see the sysbuild/
directory). This should be fixed in the near future.

Upstream PR: zephyrproject-rtos/zephyr#69652

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit d1b3b3ad11878c99abf8501537c4704661573f84)
@aescolar aescolar added the hwmv2-likely-conflict DNM until collab-hwmv2 has been merged label Mar 1, 2024
@nordicjm nordicjm removed the hwmv2-likely-conflict DNM until collab-hwmv2 has been merged label Mar 4, 2024
@gmarull gmarull force-pushed the multicore-hello-world branch 2 times, most recently from 0c793e3 to 57e04ba Compare March 4, 2024 09:23
@gmarull gmarull added the DNM This PR should not be merged (Do Not Merge) label Mar 4, 2024
@gmarull gmarull requested a review from nordicjm March 4, 2024 09:23
@gmarull gmarull changed the title samples: basic: add multicore_hello_world samples: basic: add multi_hello_world Mar 4, 2024
@zephyrbot zephyrbot requested a review from galak March 11, 2024 14:04
@gmarull gmarull changed the title samples: basic: add multi_hello_world samples: basic: add multitarget_hello_world Mar 11, 2024
Copy link
Contributor

@57300 57300 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, although I wonder if it would be better to add a multitarget option to regular hello_world instead.


Run a hello world sample on multiple board targets

Overview
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the overview should mention somewhere that the main use case for this sample is when the remote core/target needs to be booted by the primary one.

Otherwise, someone may ask: why not just build hello_world twice?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that's one of the usecases, but there may be e.g. a board with 2 independent socs.

samples/basic/multitarget_hello_world/README.rst Outdated Show resolved Hide resolved
samples/basic/multitarget_hello_world/prj.conf Outdated Show resolved Hide resolved
samples/basic/multitarget_hello_world/sample.yaml Outdated Show resolved Hide resolved
samples/basic/multitarget_hello_world/sample.yaml Outdated Show resolved Hide resolved
@gmarull
Copy link
Member Author

gmarull commented May 10, 2024

last push: created a new category samples/sysbuild for samples that its main purpose is to demonstrate sysbuild features.

@gmarull gmarull force-pushed the multicore-hello-world branch 2 times, most recently from 4299703 to f975788 Compare May 10, 2024 08:57
carlescufi
carlescufi previously approved these changes May 10, 2024
@carlescufi
Copy link
Member

@kartben please take another look

MaureenHelm
MaureenHelm previously approved these changes May 10, 2024
fabiobaltieri
fabiobaltieri previously approved these changes May 12, 2024
samples/sysbuild/with_mcuboot/README.rst Outdated Show resolved Hide resolved
This creates a new category of samples that demonstrate certain features
of sysbuild. "application development" was a very generic name.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Add a new "hello world" sample that can be built for multiple board
targets. This sample can be used to see if Zephyr boots successfully
with _minimal_ configuration on SoCs with multiple cores, or boards with
multiple SoCs.

The following configurations are provided for now:

- nRF5340 DK: cpuapp+cpunet
- nRF54H20 DK: cpuapp+cpurad, cpuapp+cpuppr, cpuapp+cpuppr(xip)

Note that because of a quoting bug somewhere in the build system,
SB_CONFIG_REMOTE_BOARD is specified in .conf files (see the sysbuild/
directory). This should be fixed in the near future.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
@nashif nashif merged commit 0630c5c into zephyrproject-rtos:main May 13, 2024
19 checks passed
@gmarull gmarull deleted the multicore-hello-world branch May 14, 2024 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants