.. | |||
TARGET_MCU_NRF52840 | 5 years ago | ||
binaries | 5 years ago | ||
include | 6 years ago | ||
Readme.md | 5 years ago | ||
cc_internal.c | 5 years ago | ||
cc_internal.h | 5 years ago | ||
ccm_alt.c | 5 years ago | ||
ccm_alt.h | 5 years ago | ||
ecdh_alt.c | 5 years ago | ||
ecdsa_alt.c | 5 years ago | ||
ecdsa_alt.c.mod | 6 years ago | ||
mbedtls_device.h | 6 years ago | ||
objects_cryptocell.h | 6 years ago | ||
sha1_alt.c | 5 years ago | ||
sha1_alt.h | 5 years ago | ||
sha256_alt.c | 5 years ago | ||
sha256_alt.h | 5 years ago | ||
trng.c | 5 years ago |
Cryptocell (CC) 310 is a hardware accelerator that can be ported to several boards, assuming these boards have CC 310 embedded in their hardware.
The CC 310 driver consists of three libraries:
libcc_core.a
).libcc_trng.a
).libcc_ext.a
)Library version information:
arm_sw-cc310-1.1.0.1285
IAR
libraries were built using IAR ANSI C/C++ Compiler V7.80.1.11864/W32 for ARM
with --cpu Cortex-M4f
.ARM
libraries were built using ARM Compiler 5.06 update 4 (build 422)
with --cpu cortex-m4
.GCC_ARM
libraries were built using arm-none-eabi-gcc 6.3.1 20170620 (release)
with -mcpu=cortex-m4
.To port your CC 310 driver to Mbed OS on your specific target, do the following:
targets.json
add the following to your target:
MBEDTLS_CONFIG_HW_SUPPORT
to macros_add
key. This instructs Mbed TLS to look for an alternative cryptographic implementation.CRYPTOCELL310
to feature
. Use this in your common code that you need to remove from compilation in case CC exists in your board. Use #if !defined(FEATURE_CRYPTOCELL310)
and #if defined(FEATURE_CRYPTOCELL310)
.objects.h
, include objects_cryptocell.h
. You can use the FEATURE_CRYPTOCELL310
precompilation check as defined above.features/cryptocell/FEATURE_CRYPTOCELL310/TARGET_<target name>
, add your platform-specific libraries for all toolchains in TOOLCHAIN_ARM
, TOOLCHAIN_GCC_ARM
and TOOLCHAIN_IAR
respectively.crypto_platform_setup()
and crypto_platform_terminate()
to enable CC on your platform, in case you have board-specific setup functionality, required for CC setup. You MUST call 'SaSi_LibInit()` and 'SaSi_LibFini()' respectively in these functions.crypto_platform_ctx
in crypto_platform.h
in a way that suits your implementation.