nRF5 SDK is not maintained anymore
More Info: Consider nRF Connect SDK for new designs

Matter on the nRF52840: Is 1MB a safe bet?

Building the default binary of the Matter example all-cluster-app for the nRF52840 results in a binary of more than 900kB. Switching the optimization from min-size to debug-friendly exceeds the 1MB of available flash, building it using the overlay-low_power.conf overlay gets the size down to ~750 kB.

Does Nordic consider the nRf52840s internal flash (1MB) to be big enough to support Matter and leaving 250+ kB space for the application itself in the long run? Will Nordic put efforts into keeping or even lowering the memory footprint to stay well below 750kB?

Background: Considering to switch from two 500kB internal partitions (A/B) to having the full internal flash available for program code, and adding an external 8Mbit flash for storing updates.

Parents
  • Hi,

    I'm forwarding the response I received from our developers:

    I just built our light_bulb application in release mode (with no shell, logs and other debug features) using NCS ToT and it uses 734kB of flash application region and 207 kB of RAM. The flash/RAM breakdown looks as follows:
    CHIP                      FLASH[KB] = 164    RAM[KB] = 53    
    OpenThread                FLASH[KB] = 147    RAM[KB] = 33    
    Application               FLASH[KB] = 92     RAM[KB] = 20    
    Bluetooth                 FLASH[KB] = 73     RAM[KB] = 17    
    Crypto                    FLASH[KB] = 66     RAM[KB] = 18    
    Other                     FLASH[KB] = 61     RAM[KB] = 3     
    Kernel/Core/Std           FLASH[KB] = 46     RAM[KB] = 16    
    802.15.4 Radio Driver     FLASH[KB] = 44     RAM[KB] = 8     
    MPSL                      FLASH[KB] = 19     RAM[KB] = 3     
    Zephyr Networking         FLASH[KB] = 18     RAM[KB] = 37
    
    Note that Application component doesn't contain just the business logic of the application, but also Matter clusters, which are configured on application basis. Given the metrics it would seem that 250kB is achievable depending on the type of the device, but we cannot make any statements in the long run as Matter and other dependent projects are evolving, e.g. Matter will continue to be developed and acquire new features after 1.0 release. Also, the following factors need to be taken into consideration:
    • Our light_bulb sample is a Thread FTD device, so the OpenThread can be reduced by a few dozen
    • On the other hand, the sample currently doesn't use hardware acceleration of crypto operations. Enabling that feature will increase the flash usage by around 30kB.
    • Matter and other dependent projects currently use mbedTLS API for crypto operations. In the long run, we may expect that more and more embedded projects will transition to PSA crypto API and we're unsure how it will impact the memory consumption of a complex application.
    • The sample uses a single MCUboot bootloader. If one needs to securely update the bootloader itself, another MCUboot slot and B0 bootloader may need to be added.
    • It is possible that Matter flash usage will grow even more as a lot of bugfix PRs are submitted before the official release.

    For application updates/DFU, an external memory would be required. You need two image slots for the full application image, if the DFU transfer is handled by the application transport(s) (BLE/Thread, etc). Serial can be supported with a single image slot, as the UART transport does not take up much space in the bootloader like BLE/Thread stacks would do.

    Best regards,
    Jørgen

  • Thanks for the answer.

    Seems like your light_bulb app consumes as much flash as all-cluster-app for the nRF52840, guess those apps are somewhat comparable.

    Follow up questions:

    • How do you suggest to debug the applications? When enabling DEBUG_OPTIMIZATIONS (767K), having a bootloader (24k binary,but probably 50k partition to be sure) and 32kb of storage, all there is is 150kB. Using an external flash attached via QSPI for debugability seems like too much effort to me.
    • Running the strings program on zephyr.bin yields about ~23k worth of strings such as "Distinguished Name qualifier" (X509 related?), "REENT malloc succeeded", "not enough space for format expansion (Please submit full bug report at ">https://gcc.gnu.org/bugs/):", etc. Are those areas Nordic will put effort into optimizing?
    • Do you have any customers who will put products based on Zephyr/Matter/nRF52840 (+1MB of external flash) into the market? Any of which you could provide some references (links)?
    • Is there some open community around Matter? Some IRC/Matrix/Discord/Slack channels one could openly talk out specific matter questions?

    I am asking all of this because I am scared of a situation in which Nordic, in a few years from now,, declares the nRF52840 as non-Matter-ready after all, urges customers to upgrade to the nRF53 or something else with even more flash. Something which will absolutely not be possible for already manufactured products.

  • Hi,

    Some answers to your questions from our Matter developers:

    • You should be able to reduce log verbosity or disable other debug features when enabling DEBUG_OPTIMIZATIONS. It may not be possible to enable all debug features simultaneously considering that you're really planning to take 250kB of flash for the application alone, but if you want to use a debugger, perhaps you don't need detailed logs at the same time, or shell, or something else.
    • We do keep looking at different optimization opportunities when we have time. I think most of the strings come from logging, so if you reduce the log verbosity, some of them will go away.
    • We have many customers using nRF52840 + 1MB external flash for Matter products. Unfortunately, we can't name the customers due to agreements, but I would not expect this platform to be not supported anytime soon.
    • Yes, if you become a member of CSA, you can get access to such community platforms, including slack. There's no such platform for non-CSA members as far as I know.

    Best regards,
    Jørgen

  • You should be able to reduce log verbosity or disable other debug features when enabling DEBUG_OPTIMIZATIONS. It may not be possible to enable all debug features simultaneously considering that you're really planning to take 250kB of flash for the application alone, but if you want to use a debugger, perhaps you don't need detailed logs at the same time, or shell, or something else.

    I disabled ASSERT, which saved me ~21 kB (654 kB instead of 675).

    We do keep looking at different optimization opportunities when we have time. I think most of the strings come from logging, so if you reduce the log verbosity, some of them will go away.

    Logging was disabled:

    $ grep -e CONFIG_LOG -e CONFIG_ASSERT zephyr/.config
    # CONFIG_ASSERT is not set
    # CONFIG_ASSERT_VERBOSE is not set
    # CONFIG_ASSERT_NO_FILE_INFO is not set
    # CONFIG_ASSERT_NO_COND_INFO is not set
    # CONFIG_ASSERT_NO_MSG_INFO is not set
    # CONFIG_LOG is not set
    CONFIG_NET_CONFIG_LOG_LEVEL=0
    # CONFIG_ASSERT_ON_ERRORS is not set

    The scary part is that we still end up with strings like those:

    $ strings zephyr/zephyr.bin | grep -e WEST -e "Please submit full bug" -e basic_string -e arm-zephyr-eabi -e Sigma2 -e "Fail to"
    basic_string::_M_construct null not valid
    WEST_TOPDIR/modules/lib/matter/src/app/clusters/level-control/level-control.cpp
    WEST_TOPDIR/bootloader/mcuboot/boot/bootutil/src/bootutil_public.c
    WEST_TOPDIR/nrfxlib/nrf_802154/sl/platform/hp_timer/nrf_802154_hp_timer.c
    WEST_TOPDIR/nrf/modules/nrfxlib/nrf_802154/sl/platform/nrf_802154_platform_sl_lptimer_zephyr.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_aes_ccm.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_core.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_critical_section.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_encrypt.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_pib.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_queue.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_trx.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_tx_work_buffer.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_csma_ca.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_delayed_trx.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_filter.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_frame_parser.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_ie_writer.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_utils_byteorder.h
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_ifs.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_security_pib_ram.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_security_writer.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_precise_ack_timeout.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/ack_generator/nrf_802154_ack_data.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/ack_generator/nrf_802154_ack_generator.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/ack_generator/nrf_802154_enh_ack_generator.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_notification_swi.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_priority_drop_swi.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_request_swi.c
    Fail to acquire mutex
    Fail to increase PM counter
    Fail to decrease PM counter
    Fail to unlock mutex
    Fail to release mutex
    basic_string::_M_construct null not valid
    Sigma2Sigma3Sigma1_ResumeSigma2_ResumeNCASE_Sigma2NNCASE_Sigma3NNCASE_SigmaS1NCASE_SigmaS2SPAKE2P Key Salt
    not enough space for format expansion (Please submit full bug report at https://gcc.gnu.org/bugs/):
    basic_string::_M_create
    basic_string::_M_replace
    /workdir/build/build_arm/.build/arm-zephyr-eabi/src/newlib-nano/newlib/libc/stdlib/rand.c

    Would be reassuring to have someone at Nordic to look into this, resolved such low hanging fruits issues.

    We have many customers using nRF52840 + 1MB external flash for Matter products. Unfortunately, we can't name the customers due to agreements, but I would not expect this platform to be not supported anytime soon.

    I do understand, given that Matter is still a bit secretive/early stage. However, it would be reassuring to see some real names. In case it helps: My employer does have a NDA with Nordic and I'd be grateful for getting names in a private message.

    Yes, if you become a member of CSA, you can get access to such community platforms, including slack. There's no such platform for non-CSA members as far as I know.

    While my employers is a member, I'd rather not put time and effort into some secretive, locked-down communication channels.

  • Reto said:
    The scary part is that we still end up with strings like those:

    Can you try to set the config CONFIG_ASSERT_NO_FILE_INFO as well?

    Reto said:
    I do understand, given that Matter is still a bit secretive/early stage. However, it would be reassuring to see some real names. In case it helps: My employer does have a NDA with Nordic and I'd be grateful for getting names in a private message.

    Unfortunately, I'm not able to disclose any customer names in this forum. You can contact your regional sales manager through the "sales related questions" form on the Contact Us page, they may be able to help you out with some more details.

  • Can you try to set the config CONFIG_ASSERT_NO_FILE_INFO as well?

    Unlikely to help as ASSERT is disabled in the first place.

    Tried it anyway to confirm:

    $ grep CONFIG_ASSERT_NO_FILE_INFO zephyr/.config
    CONFIG_ASSERT_NO_FILE_INFO=y
    $ ninja
    [0/8] Performing build step for 'chip-gn'
    Generating compile_commands took 6ms
    Done. Made 71 targets from 80 files in 22ms
    ninja: no work to do.
    [1/6] Performing build step for 'mcuboot_subimage'
    ninja: no work to do.
    [3/3] cd <censored>/build-nrf52840dk_nrf52840-li...user.h"" -P <censored>/ncs/modules/lib/openthread/etc/cmake/print.cmake
    OPENTHREAD_CONFIG_ASSERT_ENABLE=0
    OPENTHREAD_CONFIG_BACKBONE_ROUTER_DUA_NDPROXYING_ENABLE=0
    OPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLE=0
    OPENTHREAD_CONFIG_ENABLE_BUILTIN_MBEDTLS=0
    OPENTHREAD_CONFIG_ENABLE_BUILTIN_MBEDTLS_MANAGEMENT=0
    OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE=1
    OPENTHREAD_CONFIG_COAP_API_ENABLE=1
    OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE=0
    OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE=1
    OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE=1
    OPENTHREAD_CONFIG_ECDSA_ENABLE=1
    OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE=1
    OPENTHREAD_CONFIG_DUA_ENABLE=1
    OPENTHREAD_CONFIG_MLR_ENABLE=1
    OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE=1
    OPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE=1
    OPENTHREAD_CONFIG_JOINER_ENABLE=1
    OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE=1
    OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE=1
    OPENTHREAD_CONFIG_TMF_NETWORK_DIAG_MTD_ENABLE=1
    OPENTHREAD_CONFIG_PING_SENDER_ENABLE=1
    OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE=1
    OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE=1
    OPENTHREAD_SPINEL_CONFIG_RCP_RESTORATION_MAX_COUNT=0
    PACKAGE_NAME=OPENTHREAD
    OPENTHREAD_CONFIG_THREAD_VERSION=OT_THREAD_VERSION_1_2
    OPENTHREAD_CONFIG_NCP_HDLC_ENABLE=1
    KERNEL
    __ZEPHYR__=1
    _FORTIFY_SOURCE=2
    BUILD_VERSION=v2.7.99-ncs1-17-gc3208e7ff49d
    __LINUX_ERRNO_EXTENSIONS__
    USE_PARTITION_MANAGER=1
    __PROGRAM_START
    NRF52840_XXAA
    NRF_802154_CCA_CORR_LIMIT_DEFAULT=2
    NRF_802154_CCA_CORR_THRESHOLD_DEFAULT=45
    NRF_802154_CCA_ED_THRESHOLD_DEFAULT=45
    NRF_802154_CCA_MODE_DEFAULT=NRF_RADIO_CCA_MODE_ED
    NRF_802154_USE_RAW_API=1
    NRF_802154_PENDING_SHORT_ADDRESSES=16
    NRF_802154_PENDING_EXTENDED_ADDRESSES=16
    NRF_802154_RX_BUFFERS=16
    NRF_802154_CSMA_CA_ENABLED=1
    NRF_802154_TX_STARTED_NOTIFY_ENABLED=1
    NRF_802154_ACK_TIMEOUT_ENABLED=1
    NRF_802154_ENCRYPTION_ENABLED=1
    NRF_802154_SECURITY_WRITER_ENABLED=1
    NRF_802154_IE_WRITER_ENABLED=1
    NRF_802154_INTERNAL_RADIO_IRQ_HANDLING=0
    NRF_802154_ECB_PRIORITY=-1
    NRF_802154_SWI_PRIORITY=1
    MBEDTLS_CONFIG_FILE=nrf-config.h
    MBEDTLS_USER_CONFIG_FILE=nrf-config-user.h
    $ strings zephyr/zephyr.bin | grep WEST
    WEST_TOPDIR/modules/lib/matter/src/app/clusters/level-control/level-control.cpp
    WEST_TOPDIR/bootloader/mcuboot/boot/bootutil/src/bootutil_public.c
    WEST_TOPDIR/nrfxlib/nrf_802154/sl/platform/hp_timer/nrf_802154_hp_timer.c
    WEST_TOPDIR/nrf/modules/nrfxlib/nrf_802154/sl/platform/nrf_802154_platform_sl_lptimer_zephyr.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_aes_ccm.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_core.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_critical_section.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_encrypt.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_pib.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_queue.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_trx.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_tx_work_buffer.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_csma_ca.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_delayed_trx.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_filter.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_frame_parser.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_ie_writer.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_utils_byteorder.h
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_ifs.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_security_pib_ram.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_security_writer.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_precise_ack_timeout.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/ack_generator/nrf_802154_ack_data.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/ack_generator/nrf_802154_ack_generator.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/ack_generator/nrf_802154_enh_ack_generator.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_notification_swi.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_priority_drop_swi.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_request_swi.c

Reply
  • Can you try to set the config CONFIG_ASSERT_NO_FILE_INFO as well?

    Unlikely to help as ASSERT is disabled in the first place.

    Tried it anyway to confirm:

    $ grep CONFIG_ASSERT_NO_FILE_INFO zephyr/.config
    CONFIG_ASSERT_NO_FILE_INFO=y
    $ ninja
    [0/8] Performing build step for 'chip-gn'
    Generating compile_commands took 6ms
    Done. Made 71 targets from 80 files in 22ms
    ninja: no work to do.
    [1/6] Performing build step for 'mcuboot_subimage'
    ninja: no work to do.
    [3/3] cd <censored>/build-nrf52840dk_nrf52840-li...user.h"" -P <censored>/ncs/modules/lib/openthread/etc/cmake/print.cmake
    OPENTHREAD_CONFIG_ASSERT_ENABLE=0
    OPENTHREAD_CONFIG_BACKBONE_ROUTER_DUA_NDPROXYING_ENABLE=0
    OPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLE=0
    OPENTHREAD_CONFIG_ENABLE_BUILTIN_MBEDTLS=0
    OPENTHREAD_CONFIG_ENABLE_BUILTIN_MBEDTLS_MANAGEMENT=0
    OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE=1
    OPENTHREAD_CONFIG_COAP_API_ENABLE=1
    OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE=0
    OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE=1
    OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE=1
    OPENTHREAD_CONFIG_ECDSA_ENABLE=1
    OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE=1
    OPENTHREAD_CONFIG_DUA_ENABLE=1
    OPENTHREAD_CONFIG_MLR_ENABLE=1
    OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE=1
    OPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE=1
    OPENTHREAD_CONFIG_JOINER_ENABLE=1
    OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE=1
    OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE=1
    OPENTHREAD_CONFIG_TMF_NETWORK_DIAG_MTD_ENABLE=1
    OPENTHREAD_CONFIG_PING_SENDER_ENABLE=1
    OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE=1
    OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE=1
    OPENTHREAD_SPINEL_CONFIG_RCP_RESTORATION_MAX_COUNT=0
    PACKAGE_NAME=OPENTHREAD
    OPENTHREAD_CONFIG_THREAD_VERSION=OT_THREAD_VERSION_1_2
    OPENTHREAD_CONFIG_NCP_HDLC_ENABLE=1
    KERNEL
    __ZEPHYR__=1
    _FORTIFY_SOURCE=2
    BUILD_VERSION=v2.7.99-ncs1-17-gc3208e7ff49d
    __LINUX_ERRNO_EXTENSIONS__
    USE_PARTITION_MANAGER=1
    __PROGRAM_START
    NRF52840_XXAA
    NRF_802154_CCA_CORR_LIMIT_DEFAULT=2
    NRF_802154_CCA_CORR_THRESHOLD_DEFAULT=45
    NRF_802154_CCA_ED_THRESHOLD_DEFAULT=45
    NRF_802154_CCA_MODE_DEFAULT=NRF_RADIO_CCA_MODE_ED
    NRF_802154_USE_RAW_API=1
    NRF_802154_PENDING_SHORT_ADDRESSES=16
    NRF_802154_PENDING_EXTENDED_ADDRESSES=16
    NRF_802154_RX_BUFFERS=16
    NRF_802154_CSMA_CA_ENABLED=1
    NRF_802154_TX_STARTED_NOTIFY_ENABLED=1
    NRF_802154_ACK_TIMEOUT_ENABLED=1
    NRF_802154_ENCRYPTION_ENABLED=1
    NRF_802154_SECURITY_WRITER_ENABLED=1
    NRF_802154_IE_WRITER_ENABLED=1
    NRF_802154_INTERNAL_RADIO_IRQ_HANDLING=0
    NRF_802154_ECB_PRIORITY=-1
    NRF_802154_SWI_PRIORITY=1
    MBEDTLS_CONFIG_FILE=nrf-config.h
    MBEDTLS_USER_CONFIG_FILE=nrf-config-user.h
    $ strings zephyr/zephyr.bin | grep WEST
    WEST_TOPDIR/modules/lib/matter/src/app/clusters/level-control/level-control.cpp
    WEST_TOPDIR/bootloader/mcuboot/boot/bootutil/src/bootutil_public.c
    WEST_TOPDIR/nrfxlib/nrf_802154/sl/platform/hp_timer/nrf_802154_hp_timer.c
    WEST_TOPDIR/nrf/modules/nrfxlib/nrf_802154/sl/platform/nrf_802154_platform_sl_lptimer_zephyr.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_aes_ccm.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_core.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_critical_section.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_encrypt.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_pib.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_queue.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_trx.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_tx_work_buffer.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_csma_ca.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_delayed_trx.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_filter.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_frame_parser.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_ie_writer.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_utils_byteorder.h
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_ifs.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_security_pib_ram.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_security_writer.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/nrf_802154_precise_ack_timeout.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/ack_generator/nrf_802154_ack_data.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/ack_generator/nrf_802154_ack_generator.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/mac_features/ack_generator/nrf_802154_enh_ack_generator.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_notification_swi.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_priority_drop_swi.c
    WEST_TOPDIR/nrfxlib/nrf_802154/driver/src/nrf_802154_request_swi.c

Children
No Data
Related