This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NRF_CRYPTO_CELL port to 52833

I am trying to port the examples/ble_central/ble_app_hrs_c project from the 52840/pca10056/s140 to a 52833/pca10100/s140  project.

Having trouble in the port from the nrf52840.h to the nrf52833.h - it seems there is a lot missing.

Before I started changing things I thought it productive to at least ask the questions.

Questions:

           is there an updated nrf53833.h with all the crypto information added.

           has someone already updated the ble_app_hrs_c project to work on the 52833

Thanks

Parents
  • Got it building ble_app_hrs_c_gcc_nrf52.ld

    nrf52833.h

    Makefile will not upload as it continues to get an error - but started with an 840 makefile and worked thru the 840 stuff to the 833 .s/.c files and that way the crypto libs were present

    did a nrfjprog --recover

    in the armgcc directory did the make flash_softdevice

    But when I debug the program always hangs at

    file cc310_backend_rng.c line 159

       err_code = CRYS_RndInit(&p_ctx->crys_rnd_state, p_work_buffer);

    with no error or timeout.

    If you have any information on what I should try or a solution to my problem I would appreciate it.

    Thank you,

Reply
  • Got it building ble_app_hrs_c_gcc_nrf52.ld

    nrf52833.h

    Makefile will not upload as it continues to get an error - but started with an 840 makefile and worked thru the 840 stuff to the 833 .s/.c files and that way the crypto libs were present

    did a nrfjprog --recover

    in the armgcc directory did the make flash_softdevice

    But when I debug the program always hangs at

    file cc310_backend_rng.c line 159

       err_code = CRYS_RndInit(&p_ctx->crys_rnd_state, p_work_buffer);

    with no error or timeout.

    If you have any information on what I should try or a solution to my problem I would appreciate it.

    Thank you,

Children
  • Hi,

    This is expected. The CrytpoCell peripheral is not present on the nRF52833, so there is no point in trying to use it.

    You have to use a SW crypto backend, but you do not need to make any significant changes, as the nrf_crypto library provides a unified API. The only thing you should need to do is to disable the CC310 backed in sdk_config.h by setting NRF_CRYPTO_BACKEND_CC310_ENABLED to 0, and enable the Oberon backend by setting NRF_CRYPTO_BACKEND_OBERON_ENABLED to 1, and also the NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED to 1. You can compare with the sdk_config.h of the pca10040 project to see how this should be done, and they should be identical with regard to crypto configuration.

Related