nRF5 SDK v17.1.0
nrf_cc310_bl backend
This information applies to the nRF52840 SoC only.

The nrf_cc310_bl backend provides functionality to use the nrf_cc310_bl runtime library in nrf_crypto. This runtime library is only available in nRF52840 devices that provide hardware accelerated cryptography through the ARM CC310. This runtime library provides selected cryptographic functionality for use in bootloader-specific use cases.

All APIs in this backend are intended to be internal to nrf_crypto.


See Configuring nrf_crypto frontend and backends for details on enabling this backend.

Available frontend API

See Cryptography library - nrf_crypto for nrf_crypto APIs that can use this backend.

nrf_cc310_bl runtime library

The nrf_cc310_bl is a runtime library designed to perform selected cryptographic functionality on devices that feature the ARM TrustZone CC310 CryptoCell hardware. It is designed to be size-optimized and intended for use cases involving the bootloader and DFU.

For more information about CC310, see nRF52840 Product Specification.

In the nRF5 SDK, the CC310 functionality is most commonly used through the nrf_crypto APIs. See Cryptography library - nrf_crypto.

The nrf_cc310_bl runtime library provides functionality to do ECDSA verify using curve secp256r1 and secp224r1 using SHA-256.

Header files for this library are available in the folder <InstallFolder>\sdk\nrf5\external\nrf_cc310_bl\include.

The library in its different versions is available in the folder <InstallFolder>\sdk\nrf5\external\nrf_cc310_bl\lib.

The ARM CryptoCell 310 hardware with the accompanying nrf_cc310_bl library has a single user requirement, which means it cannot facilitate multiple calls that require hardware access at the same time. If the nrf_cc310 library is used directly through its APIs, it uses a different mutex strategy, where multiple access to the hardware is protected by a mutex that is acquired with an infinite lock. Note that calling the APIs from different interrupt priorities can potentially lead to deadlock scenarios due to the infinite locking strategy.
The nrf_cc310 library handles enabling and disabling of the CryptoCell hardware and interrupts internally.

Supported IDEs

IDE Library file name
GCC and IAR 8.x <arch>/hard-float/libnrf_cc310_bl_<version>.a
IAR 7.80.x <arch>/hard-float/short_vchar/libnrf_cc310_bl_<version>.a
Keil <arch>/hard-float/short_wchar/nrf_cc310_bl_<version>.lib

Documentation feedback | Developer Zone | Subscribe | Updated