nRF Connect SDK nrfxlib

repository·main·Indexed 41 days ago

https://github.com/nrfconnect/sdk-nrfxlib

A soft peripheral module providing software emulations of hardware peripherals using the Fast Lightweight Peripheral Processor (FLPR). It includes comprehensive cryptographic libraries such as ocrypto (nrf_oberon) for AES, ECC, and hashing, as well as nrf_cc3xx_mbedcrypto and nrf_cc310_bl for hardware-accelerated cryptography on nRF52840, nRF5340, and nRF91 Series devices.

Tokens
95.6K
Snippets
156
Records
478
Agent score
49%

What's inside nrfxlib

  1. Overview of the sEMMC Soft Peripheral

    main

    The sEMMC Soft Peripheral provides an implementation of the eMMC and SDCARD protocols via the nrfx driver API. It allows for software-based emulation or management of these storage interfaces.

    Supported Standards:

    • eMMC: Based on JEDEC Standard No. 84-B51A.
    • SDCARD: Based on SD Specifications Part 1 Physical Layer Specification Version 9.10 and SD Specifications Part A2 SD Host Controller Standard Specification Version 7.00.
  2. Overview of the sCAN Soft Peripheral

    main
    sCAN is a Soft Peripheral based on the CAN Specification 2.0 A/B. It is accessed and controlled through the nrfx driver API. This peripheral is designed to provide CAN functionality via software implementation rather than dedicated hardware blocks, and its usage involves specific setup, integration, and operational guidelines provided by the nrfx driver.
  3. Overview of the Low Complexity Communication Codec (LC3)

    main

    The Low Complexity Communication Codec (LC3) is the default software codec used in the nRF5340 Audio application. It is conformant to the Bluetooth® LE Audio specifications (Bluetooth 5.2).

    In the nrfxlib module, the LC3 implementation is provided via lc3/include/sw_codec_lc3.h and lc3/src/sw_codec_lc3.c. These files act as a translation layer that allows the nRF5340 Audio application to interact with the codec using a standardized API.

  4. Overview of the nRF Fuel Gauge library

    main

    The nRF Fuel Gauge library processes battery measurements from Power Management ICs (PMICs) to provide State-of-Charge (SOC) predictions and other battery metrics. It is specifically designed for use with the Nordic nPM Family of PMICs.

    Key features:

    • Supports both primary (non-rechargeable) and secondary (rechargeable) cell batteries.
    • Includes built-in models for common primary cells (e.g., Alkaline AA, Alkaline AAA, Alkaline coin cell LR44, and Lithium-manganese dioxide coin cell CR2032).
    • For secondary cells, battery models can be derived using the nPM Powerup App in nRF Connect for Desktop or via the nPM1300 Evaluation Kit.
  5. Overview of Cryptographic Libraries in sdk-nrfxlib

    main

    The sdk-nrfxlib repository contains several cryptographic library backends that serve as the underlying implementation for higher-level components in the nRF Connect SDK (NCS).

    Depending on your hardware and the high-level component you are using, you will interact with one of the following backends:

    • For nrf:crypto_drivers: Use nrf_cc3xx_platform, nrf_cc3xx_mbedcrypto, or nrf_oberon.
    • For nrf:doc_bl_crypto: Use nrf_cc310_bl.
  6. Overview of SoftDevice Controller

    main

    The SoftDevice Controller is an RTOS-agnostic library designed for Nordic Semiconductor devices with Bluetooth support. It leverages services provided by the mpsl (Micro Controller Protection Service Layer).

    The library is distributed in various build variants depending on the target hardware and floating-point requirements:

    • nRF52, nRF54H, and nRF54L Series: Available as soft-float, softfp-float, and hard-float builds.
    • nRF53 Series: Available as a soft-float build.
  7. Overview of the Nordic Distance Measurement library

    main

    The Distance Measurement (DM) library enables devices to measure the distance between each other. It is compatible with nRF52 Series and nRF53 Series devices.

    Key capabilities include:

    • An easy-to-use interface for distance measurement.
    • Distance computation using all available device information.
    • Support for two measurement modes:
      • MCPD mode: Computes distance based on the measured differential RF physical channel frequency response.
      • RTT mode: Computes distance based on the real-time flight of packets.
    • Internalized mathematical processing for distance computation.

    Note that the library relies on the CMSIS/DSP math library and standard C math.h functions.

  8. Overview of the nRF Modem library

    main

    The Modem library is a binary library designed to enable the application processor of an nRF91 Series SiP to control and interact with the nRF91 Series modem.

    Key characteristics:

    • Portability: The library is designed to be portable and can be used with any Real-Time Operating System (RTOS).
    • Functionality: It provides the necessary APIs to manage modem operations, including interfaces for AT commands, sockets, GNSS, and more.
  9. Overview of the Gazell Link Layer (gzll) library

    main

    The Gazell Link Layer (gzll) library provides the link layer implementation for Gazell-based protocols. It is designed for the following hardware targets:

    • nRF52 Series: Available in both soft-float and hard-float build configurations.
    • nRF53 Series: Available for use on the network core.

    For detailed instructions on how to integrate and use these libraries within the nRF Connect SDK (NCS), refer to the official user guide nrf:ug_gzll.

  10. Overview of sQSPI soft peripheral

    main

    sQSPI is a soft peripheral implementation of the Quad Serial Peripheral Interface (QSPI). It is designed to be used through the nrfx driver API.

    Important: sQSPI is a software-based implementation and lacks many advanced hardware features found in the standard QSPI peripheral. Before integrating sQSPI, ensure your application does not require the following features:

    • DDR Clocking (Double Data Rate)
    • Execute in Place (XIP)
    • Synchronous Serial Protocol (SSP)
    • MICROWIRE
    • JEDEC xSPI
    • HyperBus
    • Data masking
    • SPI dynamic wait state
    • Multi-master bus topologies (arbitration)
    • Clock stretching
    • Target Select Toggle Enable (SSTE) (Toggling CS high between data frames)
    • 4-bit increment QSPI address or command lengths
  11. Overview of OpenThread pre-built libraries

    main

    The nRF Connect SDK (NCS) provides pre-built OpenThread libraries to simplify development and the Thread Group certification process. Some libraries are pre-certified for use with specific Nordic Semiconductor devices, which can reduce the certification burden for your final product.

    Library selection is determined by two main factors:

    1. Stack Configuration: Based on the chosen 'feature set' (a predefined set of configuration options).
    2. Cryptography Variant: Automatically selected based on the hardware cryptography capabilities of the microcontroller.

    To see the exact configuration options and default values used to compile a specific library, inspect the openthread_lib_configuration.txt file located within each library folder.

  12. What is the nRF 802.15.4 Service Layer

    main

    The nRF 802.15.4 Service Layer (SL) is a library that extends the capabilities of the nRF 802.15.4 Radio Driver. It provides several key features for radio operations:

    • Multiprotocol support: Enables concurrent Bluetooth LE and 802.15.4 operations.
    • CSMA/CA support: Provides a built-in, performance-optimized Carrier Sense Multiple Access with Collision Avoidance mechanism.
    • Delayed transmission and reception: Allows scheduling of radio events to execute at predefined moments.
    • Timestamping: Provides precise frame timestamps.
    • Runtime Capability Discovery: Provides an API to retrieve the capabilities of the binary at runtime.