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

tests: benchmarks: multicore: idle_spim_loopback: Add test for SPIM120 #18571

Merged
merged 2 commits into from
Nov 6, 2024

Conversation

nordic-segl
Copy link
Contributor

Add test that combinest functional check (whether SPIM transmits data) with non-functional check (current consumption).

Confirm that slow SPIM130 / fast SPIM120:

  • doesn't block entering low power states like IDLE or S2RAM;
  • work correclty after leaving low power state.

@nordic-segl nordic-segl added the backport v2.8-branch auto-create a PR with same commits to v2.8-branch label Nov 5, 2024
@nordic-segl nordic-segl requested review from a team as code owners November 5, 2024 11:41
@github-actions github-actions bot added the changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. label Nov 5, 2024
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Nov 5, 2024

CI Information

To view the history of this post, clich the 'edited' button above
Build number: 17

Inputs:

Sources:

sdk-nrf: PR head: 2d55d29627061ef8859fba426c0da65b0805dad7

more details

sdk-nrf:

PR head: 2d55d29627061ef8859fba426c0da65b0805dad7
merge base: da9d5ac07dae440d583f38682bdfbb5eebaffd10
target head (main): 1156b42894b29fb1a73bb30743ebe5c81cbee8a3
Diff

Github labels

Enabled Name Description
ci-disabled Disable the ci execution
ci-all-test Run all of ci, no test spec filtering will be done
ci-force-downstream Force execution of downstream even if twister fails
ci-run-twister Force run twister
ci-run-zephyr-twister Force run zephyr twister
List of changed files detected by CI (11)
tests
│  ├── benchmarks
│  │  ├── multicore
│  │  │  ├── idle_spim_loopback
│  │  │  │  ├── CMakeLists.txt
│  │  │  │  ├── Kconfig
│  │  │  │  ├── Kconfig.sysbuild
│  │  │  │  ├── boards
│  │  │  │  │  ├── nrf54h20dk_nrf54h20_cpuapp.overlay
│  │  │  │  │  │ nrf54h20dk_nrf54h20_cpuapp_fast.overlay
│  │  │  │  ├── prj.conf
│  │  │  │  ├── prj_s2ram.conf
│  │  │  │  ├── src
│  │  │  │  │  │ main.c
│  │  │  │  ├── sysbuild.cmake
│  │  │  │  ├── sysbuild
│  │  │  │  │  │ nrf54h20dk_nrf54h20_cpurad.conf
│  │  │  │  │ testcase.yaml

Outputs:

Toolchain

Version: b44b7a08c9
Build docker image: docker-dtr.nordicsemi.no/sw-production/ncs-build:b44b7a08c9_912848a074

Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped; ⚠️ Quarantine

  • ◻️ Toolchain - Skipped: existing toolchain is used
  • ✅ Build twister
    • sdk-nrf test count: 77
  • ✅ Integration tests
Disabled integration tests
    • desktop52_verification
    • doc-internal
    • test_ble_nrf_config
    • test-fw-nrfconnect-apps
    • test-fw-nrfconnect-ble_mesh
    • test-fw-nrfconnect-ble_samples
    • test-fw-nrfconnect-boot
    • test-fw-nrfconnect-chip
    • test-fw-nrfconnect-fem
    • test-fw-nrfconnect-nfc
    • test-fw-nrfconnect-nrf-iot_cloud
    • test-fw-nrfconnect-nrf-iot_libmodem-nrf
    • test-fw-nrfconnect-nrf-iot_lwm2m
    • test-fw-nrfconnect-nrf-iot_mosh
    • test-fw-nrfconnect-nrf-iot_nrf_provisioning
    • test-fw-nrfconnect-nrf-iot_positioning
    • test-fw-nrfconnect-nrf-iot_samples
    • test-fw-nrfconnect-nrf-iot_thingy91
    • test-fw-nrfconnect-nrf-iot_zephyr_lwm2m
    • test-fw-nrfconnect-nrf_crypto
    • test-fw-nrfconnect-proprietary_esb
    • test-fw-nrfconnect-rpc
    • test-fw-nrfconnect-rs
    • test-fw-nrfconnect-tfm
    • test-fw-nrfconnect-thread
    • test-fw-nrfconnect-zigbee
    • test-low-level
    • test-sdk-audio
    • test-sdk-dfu
    • test-sdk-find-my
    • test-sdk-mcuboot
    • test-sdk-pmic-samples
    • test-sdk-sidewalk
    • test-sdk-wifi

Note: This message is automatically posted and updated by the CI

@nordic-segl nordic-segl force-pushed the NRFX-6651_S2RAM_and_SPI120 branch 3 times, most recently from 6c47386 to 95c9fd9 Compare November 5, 2024 12:24
@NordicBuilder
Copy link
Contributor

You can find the documentation preview for this PR at this link. It will be updated about 10 minutes after the documentation build succeeds.

Note: This comment is automatically posted by the Documentation Publishing GitHub Action.

@nordic-segl nordic-segl force-pushed the NRFX-6651_S2RAM_and_SPI120 branch 10 times, most recently from c7fb24f to 65b991c Compare November 6, 2024 07:34

static uint8_t spim_buffer[32] MEMORY_SECTION(DT_BUS(DT_NODELABEL(dut_spi_dt)));

#define DATA_FIELD_LEN (4)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I see weird behaviour when I change data length to 8 bytes (or more) per single transmission.
Current measurements shows "inactivity" while SPI is extensively exchanging data.
For 16 bytes I sow SPI active for 20 ms every 200ms. Remaining 180ms was like IDLE.

@@ -0,0 +1,83 @@
common:
sysbuild: true
tags: ci_build ci_tests_benchmarks_multicore spim
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Test that shall have PPK connected, override this field with tags: ppk_power_measure. See line 24, 36, 61, 74.

@nordic-segl
Copy link
Contributor Author

All tests are passing here:
https://jenkins-ncs.nordicsemi.no/job/latest/job/test-fw-twister-ncs-zephyr/job/twister-power-consumption-testing-customizable/job/main/71/testReport/nrf54h20dk_nrf54h20_cpuapp_benchmarks.multicore.idle_spim_loopback.nrf54h20dk_cpuapp_cpurad/

When single transmission exchanges 4 bytes of data:

  • IDLE (slow instance)
    active/sleep: 1 850 / 22 uA
  • IDLE (fast instance)
    active/sleep: 2 730 / 22 uA
  • S2RAM (slow instance)
    active/sleep: 1 858 / 3 uA
  • S2RAM (fast instance)
    active/sleep: 2 734 / 3 uA

Add test that combinest functional check (whether SPIM transmits data)
with non-functional check (current consumption).

Confirm that slow SPIM130 / fast SPIM120:
- doesn't block entering low power states like IDLE or S2RAM;
- work correclty after leaving low power state.

Signed-off-by: Sebastian Głąb <[email protected]>
This commit shall be dropped when GD handling
is implemented in sdk-zephyr.

Signed-off-by: Sebastian Głąb <[email protected]>
@nordicjm nordicjm merged commit a6f9541 into nrfconnect:main Nov 6, 2024
13 checks passed
@nordic-segl nordic-segl deleted the NRFX-6651_S2RAM_and_SPI120 branch November 6, 2024 10:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport v2.8-branch auto-create a PR with same commits to v2.8-branch changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants