unable to build software using Keil MDK

L.S.,

I'm trying to build an "Arduino" port for the nrf52840 (Seeed board).

When building an example I'm getting the following errors during the link phase:

.\Objects\nrf52_SoftwareSerial.axf: Error: L6218E: Undefined symbol SaSi_LibInit (referred from adafruit_nrfcrypto.o).
.\Objects\nrf52_SoftwareSerial.axf: Error: L6218E: Undefined symbol SaSi_LibFini (referred from adafruit_nrfcrypto.o).
.\Objects\nrf52_SoftwareSerial.axf: Error: L6218E: Undefined symbol CRYS_RND_GenerateVector (referred from nrfcrypto_ecc.o).
.\Objects\nrf52_SoftwareSerial.axf: Error: L6218E: Undefined symbol CRYS_ECPKI_GenKeyPair (referred from nrfcrypto_ecc.o).
.\Objects\nrf52_SoftwareSerial.axf: Error: L6218E: Undefined symbol CRYS_ECDH_SVDP_DH (referred from nrfcrypto_ecc.o).
.\Objects\nrf52_SoftwareSerial.axf: Error: L6218E: Undefined symbol CRYS_ECPKI_GetEcDomain (referred from nrfcrypto_ecc_privatekey.o).
.\Objects\nrf52_SoftwareSerial.axf: Error: L6218E: Undefined symbol CRYS_ECPKI_ExportPrivKey (referred from nrfcrypto_ecc_privatekey.o).
.\Objects\nrf52_SoftwareSerial.axf: Error: L6218E: Undefined symbol CRYS_ECPKI_BuildPrivKey (referred from nrfcrypto_ecc_privatekey.o).
.\Objects\nrf52_SoftwareSerial.axf: Error: L6218E: Undefined symbol CRYS_ECPKI_ExportPublKey (referred from nrfcrypto_ecc_publickey.o).
.\Objects\nrf52_SoftwareSerial.axf: Error: L6218E: Undefined symbol _DX_ECPKI_BuildPublKey (referred from nrfcrypto_ecc_publickey.o).
.\Objects\nrf52_SoftwareSerial.axf: Error: L6218E: Undefined symbol CRYS_RndInit (referred from nrfcrypto_random.o).
.\Objects\nrf52_SoftwareSerial.axf: Error: L6218E: Undefined symbol CRYS_RND_UnInstantiation (referred from nrfcrypto_random.o).
.\Objects\nrf52_SoftwareSerial.axf: Error: L6218E: Undefined symbol CRYS_RND_AddAdditionalInput (referred from nrfcrypto_random.o).
.\Objects\nrf52_SoftwareSerial.axf: Error: L6218E: Undefined symbol CRYS_RND_Reseeding (referred from nrfcrypto_random.o).
.\Objects\nrf52_SoftwareSerial.axf: Error: L6218E: Undefined symbol CRYS_RND_GenerateVectorInRange (referred from nrfcrypto_random.o).

What do I need to do to resolve this?

Best regards,

Ruud den Bekker

Parents
  • Hi

    From your last reply, did you get anywhere? From what I can see you need to add Cryptocell to your project in sdk_config.h with the following:

    #define NRF_CRYPTO_ENABLED 1
    #define NRF_CRYPTO_BACKEND_CC310_ENABLED 1
    #define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0
    #define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 0

    Include the path to these files and add those to project settings:

    /external/nrf_cc310/lib/cortex-m4/hard-float
    /external/nrf_cc310/include


    As well as initialize crypto in your code with an include and an init function:

    #include "nrf_crypto.h"

    void crypto_init(void)
    {
    ret_code_t ret = nrf_crypto_init();
    if (ret != NRF_SUCCESS) {
    // Handle error
    }
    }

    Best regards,

    Simon

  • Hello Simon,

    Well it' builds, but still crashes on a hardware problem somewhere. 

    The software has been build by someone else, I'm using the code on:

    https://github.com/Seeed-Studio/Adafruit_nRF52_Arduino

    which should work.

    So, I'm not using the nordic SDK.  Examples from your SDK (using Keil V5) seem to work ok.

    But we are using V6...

    REgards,


    Ruud

Reply Children
No Data
Related