NCS - What's needed to make an SDK sample run?

Hi,

A veteran of nRF5 SDK but new to NCS.

I tried to run tx_rx_non_blocking example from the latest (2.6.1)  NCS SDK, but can't get it to run (nR52840DK)

It seem as the app asserts in nrfx_uarte_rx() >> nrfx_uarte_rx_ready() when is tests for NRFX_ASSERT(p_cb->state == NRFX_DRV_STATE_INITIALIZED) (which evaluates to UNINTIALIZED)

What am I missing ?

How this sample needs to be configured? IS there any FRIENDLY guide to NCS (and Zephyr in particular)

Why is it so unintuitive?

Thanks

  • Hi

    I understand your frustration. My general advise would be to start with the nRF Connect SDK Fundamentals to get started with the NCS SDK as it is big difference from the nRF5 SDK.  

    The samples found in that folders does not really reflect Zephyr or how you should work with Zephyr. 

    These samples are available to show how nrfx can be used instead of Zephyr drivers (or shims). They are designed to build using different frameworks including Zephyr and bare metal, which is why this build configuration in Zephyr has its flaws.

    As nrfx is a set of drivers which are os-agnostic and focusing on individual peripherals. Therefor any Zephyr-specific frameworks such as pin control, power management, cache, will never be a part of nrfx. Given this, nrfx is not (and not ment) to be a direct replacement for Zephyr drivers.

    Regards

    Runar

Related