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

Porting s140 from nRF52840 to nRF52833

Hi,

I have been working with a nRF52840 DK up until now, but I need to change and move to a nRF52833 DK. I wanted to adapt my code as they can both use the softdevice I am using, s140.

Unfortunately, the HRS example I am using on pca10056 is not available with pca10100. I followed what was specified on this page. However I still get a hardfault (stopped by vector catch). Working with SEGGER,  I changed the .emProject  to this:

      arm_target_device_name="nRF52833_xxAA"
      arm_target_interface_type="SWD"
      c_preprocessor_definitions="APP_TIMER_V2;APP_TIMER_V2_RTC1_ENABLED;BLE_STACK_SUPPORT_REQD;BOARD_PCA10100;CONFIG_GPIO_AS_PINRESET;FLOAT_ABI_HARD;INITIALIZE_USER_SECTIONS;MBEDTLS_CONFIG_FILE="nrf_crypto_mbedtls_config.h";NO_VTOR_CONFIG;NRF52833_XXAA;NRF_CRYPTO_MAX_INSTANCE_COUNT=1;NRF_SD_BLE_API_VERSION=7;S140;SOFTDEVICE_PRESENT"
      c_user_include_directories="../../../config;../../../../components;../../../../components/ble/ble_advertising;../../../../components/ble/ble_dtm;../../../../components/ble/ble_link_ctx_manager;../../../../components/ble/ble_racp;../../../../components/ble/ble_services/ble_ancs_c;../../../../components/ble/ble_services/ble_ans_c;../../../../components/ble/ble_services/ble_bas;../../../../components/ble/ble_services/ble_bas_c;../../../../components/ble/ble_services/ble_cscs;../../../../components/ble/ble_services/ble_cts_c;../../../../components/ble/ble_services/ble_dfu;../../../../components/ble/ble_services/ble_dis;../../../../components/ble/ble_services/ble_gls;../../../../components/ble/ble_services/ble_hids;../../../../components/ble/ble_services/ble_hrs;../../../../components/ble/ble_services/ble_hrs_c;../../../../components/ble/ble_services/ble_hts;../../../../components/ble/ble_services/ble_ias;../../../../components/ble/ble_services/ble_ias_c;../../../../components/ble/ble_services/ble_lbs;../../../../components/ble/ble_services/ble_lbs_c;../../../../components/ble/ble_services/ble_lls;../../../../components/ble/ble_services/ble_nus;../../../../components/ble/ble_services/ble_nus_c;../../../../components/ble/ble_services/ble_rscs;../../../../components/ble/ble_services/ble_rscs_c;../../../../components/ble/ble_services/ble_tps;../../../../components/ble/common;../../../../components/ble/nrf_ble_gatt;../../../../components/ble/nrf_ble_qwr;../../../../components/ble/peer_manager;../../../../components/boards;../../../../components/libraries/atomic;../../../../components/libraries/atomic_fifo;../../../../components/libraries/atomic_flags;../../../../components/libraries/balloc;../../../../components/libraries/bootloader/ble_dfu;../../../../components/libraries/bsp;../../../../components/libraries/button;../../../../components/libraries/cli;../../../../components/libraries/crc16;../../../../components/libraries/crc32;../../../../components/libraries/crypto;../../../../components/libraries/crypto/backend/cc310;../../../../components/libraries/crypto/backend/cc310_bl;../../../../components/libraries/crypto/backend/cifra;../../../../components/libraries/crypto/backend/mbedtls;../../../../components/libraries/crypto/backend/micro_ecc;../../../../components/libraries/crypto/backend/nrf_hw;../../../../components/libraries/crypto/backend/nrf_sw;../../../../components/libraries/crypto/backend/oberon;../../../../components/libraries/crypto/backend/optiga;../../../../components/libraries/csense;../../../../components/libraries/csense_drv;../../../../components/libraries/delay;../../../../components/libraries/ecc;../../../../components/libraries/experimental_section_vars;../../../../components/libraries/experimental_task_manager;../../../../components/libraries/fds;../../../../components/libraries/fifo;../../../../components/libraries/fstorage;../../../../components/libraries/gfx;../../../../components/libraries/gpiote;../../../../components/libraries/hardfault;../../../../components/libraries/hci;../../../../components/libraries/led_softblink;../../../../components/libraries/log;../../../../components/libraries/log/src;../../../../components/libraries/low_power_pwm;../../../../components/libraries/mem_manager;../../../../components/libraries/memobj;../../../../components/libraries/mpu;../../../../components/libraries/mutex;../../../../components/libraries/pwm;../../../../components/libraries/pwr_mgmt;../../../../components/libraries/queue;../../../../components/libraries/ringbuf;../../../../components/libraries/scheduler;../../../../components/libraries/sdcard;../../../../components/libraries/sensorsim;../../../../components/libraries/slip;../../../../components/libraries/sortlist;../../../../components/libraries/spi_mngr;../../../../components/libraries/stack_guard;../../../../components/libraries/stack_info;../../../../components/libraries/strerror;../../../../components/libraries/svc;../../../../components/libraries/timer;../../../../components/libraries/twi_mngr;../../../../components/libraries/twi_sensor;../../../../components/libraries/uart;../../../../components/libraries/usbd;../../../../components/libraries/usbd/class/audio;../../../../components/libraries/usbd/class/cdc;../../../../components/libraries/usbd/class/cdc/acm;../../../../components/libraries/usbd/class/hid;../../../../components/libraries/usbd/class/hid/generic;../../../../components/libraries/usbd/class/hid/kbd;../../../../components/libraries/usbd/class/hid/mouse;../../../../components/libraries/usbd/class/msc;../../../../components/libraries/util;../../../../components/nfc/ndef/conn_hand_parser;../../../../components/nfc/ndef/conn_hand_parser/ac_rec_parser;../../../../components/nfc/ndef/conn_hand_parser/ble_oob_advdata_parser;../../../../components/nfc/ndef/conn_hand_parser/le_oob_rec_parser;../../../../components/nfc/ndef/connection_handover/ac_rec;../../../../components/nfc/ndef/connection_handover/ble_oob_advdata;../../../../components/nfc/ndef/connection_handover/ble_pair_lib;../../../../components/nfc/ndef/connection_handover/ble_pair_msg;../../../../components/nfc/ndef/connection_handover/common;../../../../components/nfc/ndef/connection_handover/ep_oob_rec;../../../../components/nfc/ndef/connection_handover/hs_rec;../../../../components/nfc/ndef/connection_handover/le_oob_rec;../../../../components/nfc/ndef/generic/message;../../../../components/nfc/ndef/generic/record;../../../../components/nfc/ndef/launchapp;../../../../components/nfc/ndef/parser/message;../../../../components/nfc/ndef/parser/record;../../../../components/nfc/ndef/text;../../../../components/nfc/ndef/uri;../../../../components/nfc/platform;../../../../components/nfc/t2t_lib;../../../../components/nfc/t2t_parser;../../../../components/nfc/t4t_lib;../../../../components/nfc/t4t_parser/apdu;../../../../components/nfc/t4t_parser/cc_file;../../../../components/nfc/t4t_parser/hl_detection_procedure;../../../../components/nfc/t4t_parser/tlv;../../../../components/softdevice/common;../../../../components/softdevice/s140/headers;../../../../components/softdevice/s140/headers/nrf52;../../../../components/toolchain/cmsis/include;../../../../external/fprintf;../../../../external/mbedtls/include;../../../../external/nrf_cc310/include;../../../../external/nrf_oberon;../../../../external/nrf_oberon/include;../../../../external/nrf_tls/mbedtls/nrf_crypto/config;../../../../external/segger_rtt;../../../../external/utf_converter;../../../../integration/nrfx;../../../../integration/nrfx/legacy;../../../../modules/nrfx;../../../../modules/nrfx/drivers/include;../../../../modules/nrfx/hal;../../../../modules/nrfx/mdk;../config"
      debug_additional_load_file="../../../../components/softdevice/s140/hex/s140_nrf52_7.2.0_softdevice.hex"
      debug_additional_load_file1="C:/Users/fmarzio/Documents/Tekin/Endotact/Code/Endotact Project/hex/ble_app_hrs_pca10056_s140.hex"
      debug_register_definition_file="../../../../../../modules/nrfx/mdk/nrf52833.svd"https://devzone.nordicsemi.com/tinymce//apis/embeddables/configure?typeId=dc8ab71f-3b98-42d9-b0f6-e21e02a0f8e2&id=undefined#

Instead of this:

      arm_target_device_name="nRF52840_xxAA"
      arm_target_interface_type="SWD"
      c_preprocessor_definitions="APP_TIMER_V2;APP_TIMER_V2_RTC1_ENABLED;BLE_STACK_SUPPORT_REQD;BOARD_PCA10056;CONFIG_GPIO_AS_PINRESET;FLOAT_ABI_HARD;INITIALIZE_USER_SECTIONS;MBEDTLS_CONFIG_FILE="nrf_crypto_mbedtls_config.h";NO_VTOR_CONFIG;NRF52840_XXAA;NRF_CRYPTO_MAX_INSTANCE_COUNT=1;NRF_SD_BLE_API_VERSION=7;S140;SOFTDEVICE_PRESENT"
      c_user_include_directories="../../../config;../../../../components;../../../../components/ble/ble_advertising;../../../../components/ble/ble_dtm;../../../../components/ble/ble_link_ctx_manager;../../../../components/ble/ble_racp;../../../../components/ble/ble_services/ble_ancs_c;../../../../components/ble/ble_services/ble_ans_c;../../../../components/ble/ble_services/ble_bas;../../../../components/ble/ble_services/ble_bas_c;../../../../components/ble/ble_services/ble_cscs;../../../../components/ble/ble_services/ble_cts_c;../../../../components/ble/ble_services/ble_dfu;../../../../components/ble/ble_services/ble_dis;../../../../components/ble/ble_services/ble_gls;../../../../components/ble/ble_services/ble_hids;../../../../components/ble/ble_services/ble_hrs;../../../../components/ble/ble_services/ble_hrs_c;../../../../components/ble/ble_services/ble_hts;../../../../components/ble/ble_services/ble_ias;../../../../components/ble/ble_services/ble_ias_c;../../../../components/ble/ble_services/ble_lbs;../../../../components/ble/ble_services/ble_lbs_c;../../../../components/ble/ble_services/ble_lls;../../../../components/ble/ble_services/ble_nus;../../../../components/ble/ble_services/ble_nus_c;../../../../components/ble/ble_services/ble_rscs;../../../../components/ble/ble_services/ble_rscs_c;../../../../components/ble/ble_services/ble_tps;../../../../components/ble/common;../../../../components/ble/nrf_ble_gatt;../../../../components/ble/nrf_ble_qwr;../../../../components/ble/peer_manager;../../../../components/boards;../../../../components/libraries/atomic;../../../../components/libraries/atomic_fifo;../../../../components/libraries/atomic_flags;../../../../components/libraries/balloc;../../../../components/libraries/bootloader/ble_dfu;../../../../components/libraries/bsp;../../../../components/libraries/button;../../../../components/libraries/cli;../../../../components/libraries/crc16;../../../../components/libraries/crc32;../../../../components/libraries/crypto;../../../../components/libraries/crypto/backend/cc310;../../../../components/libraries/crypto/backend/cc310_bl;../../../../components/libraries/crypto/backend/cifra;../../../../components/libraries/crypto/backend/mbedtls;../../../../components/libraries/crypto/backend/micro_ecc;../../../../components/libraries/crypto/backend/nrf_hw;../../../../components/libraries/crypto/backend/nrf_sw;../../../../components/libraries/crypto/backend/oberon;../../../../components/libraries/crypto/backend/optiga;../../../../components/libraries/csense;../../../../components/libraries/csense_drv;../../../../components/libraries/delay;../../../../components/libraries/ecc;../../../../components/libraries/experimental_section_vars;../../../../components/libraries/experimental_task_manager;../../../../components/libraries/fds;../../../../components/libraries/fifo;../../../../components/libraries/fstorage;../../../../components/libraries/gfx;../../../../components/libraries/gpiote;../../../../components/libraries/hardfault;../../../../components/libraries/hci;../../../../components/libraries/led_softblink;../../../../components/libraries/log;../../../../components/libraries/log/src;../../../../components/libraries/low_power_pwm;../../../../components/libraries/mem_manager;../../../../components/libraries/memobj;../../../../components/libraries/mpu;../../../../components/libraries/mutex;../../../../components/libraries/pwm;../../../../components/libraries/pwr_mgmt;../../../../components/libraries/queue;../../../../components/libraries/ringbuf;../../../../components/libraries/scheduler;../../../../components/libraries/sdcard;../../../../components/libraries/sensorsim;../../../../components/libraries/slip;../../../../components/libraries/sortlist;../../../../components/libraries/spi_mngr;../../../../components/libraries/stack_guard;../../../../components/libraries/stack_info;../../../../components/libraries/strerror;../../../../components/libraries/svc;../../../../components/libraries/timer;../../../../components/libraries/twi_mngr;../../../../components/libraries/twi_sensor;../../../../components/libraries/uart;../../../../components/libraries/usbd;../../../../components/libraries/usbd/class/audio;../../../../components/libraries/usbd/class/cdc;../../../../components/libraries/usbd/class/cdc/acm;../../../../components/libraries/usbd/class/hid;../../../../components/libraries/usbd/class/hid/generic;../../../../components/libraries/usbd/class/hid/kbd;../../../../components/libraries/usbd/class/hid/mouse;../../../../components/libraries/usbd/class/msc;../../../../components/libraries/util;../../../../components/nfc/ndef/conn_hand_parser;../../../../components/nfc/ndef/conn_hand_parser/ac_rec_parser;../../../../components/nfc/ndef/conn_hand_parser/ble_oob_advdata_parser;../../../../components/nfc/ndef/conn_hand_parser/le_oob_rec_parser;../../../../components/nfc/ndef/connection_handover/ac_rec;../../../../components/nfc/ndef/connection_handover/ble_oob_advdata;../../../../components/nfc/ndef/connection_handover/ble_pair_lib;../../../../components/nfc/ndef/connection_handover/ble_pair_msg;../../../../components/nfc/ndef/connection_handover/common;../../../../components/nfc/ndef/connection_handover/ep_oob_rec;../../../../components/nfc/ndef/connection_handover/hs_rec;../../../../components/nfc/ndef/connection_handover/le_oob_rec;../../../../components/nfc/ndef/generic/message;../../../../components/nfc/ndef/generic/record;../../../../components/nfc/ndef/launchapp;../../../../components/nfc/ndef/parser/message;../../../../components/nfc/ndef/parser/record;../../../../components/nfc/ndef/text;../../../../components/nfc/ndef/uri;../../../../components/nfc/platform;../../../../components/nfc/t2t_lib;../../../../components/nfc/t2t_parser;../../../../components/nfc/t4t_lib;../../../../components/nfc/t4t_parser/apdu;../../../../components/nfc/t4t_parser/cc_file;../../../../components/nfc/t4t_parser/hl_detection_procedure;../../../../components/nfc/t4t_parser/tlv;../../../../components/softdevice/common;../../../../components/softdevice/s140/headers;../../../../components/softdevice/s140/headers/nrf52;../../../../components/toolchain/cmsis/include;../../../../external/fprintf;../../../../external/mbedtls/include;../../../../external/nrf_cc310/include;../../../../external/nrf_oberon;../../../../external/nrf_oberon/include;../../../../external/nrf_tls/mbedtls/nrf_crypto/config;../../../../external/segger_rtt;../../../../external/utf_converter;../../../../integration/nrfx;../../../../integration/nrfx/legacy;../../../../modules/nrfx;../../../../modules/nrfx/drivers/include;../../../../modules/nrfx/hal;../../../../modules/nrfx/mdk;../config"
      debug_additional_load_file="../../../../components/softdevice/s140/hex/s140_nrf52_7.2.0_softdevice.hex"
      debug_additional_load_file1="C:/Users/fmarzio/Documents/Tekin/Endotact/Code/Endotact Project/hex/ble_app_hrs_pca10056_s140.hex"
      debug_register_definition_file="../../../../../../modules/nrfx/mdk/nrf52840.svd"

I also replaced the ses_startup_nrf52840.s and system_nrf52840.c files by ses_startup_nrf52833.s and system_nrf52833.c . I did not change my RAM and FLASH parameters as I did not change the softdevice, but it might come from that as it is a different chip. I saw that nothing needed to be changed on the boards.c file.

I obviously missed something in trying to adapt my code. Does anyone have an idea about what I missed ?

Thanks,

FM

  • Hi,

    There is a few additional things that needs to be changed in the ble_app_hrs example when moving from nRF52840 to nRF52833.

    • RAM and Flash size is halved in nRF52833, so you need to reduce the size accordingly.
    • nRF52833 does not have HW Cryptocell peripheral. You need to change the crypto backend crom CC310 to one of the software backends.

    Here is a diff of the changes in emProject and sdk_config.h files:

    • diff --git a/ble_app_hrs_pca10056_s140.emProject b/ble_app_hrs_pca10100_s140.emProject
      index 2485a21..78955f0 100644
      --- a/ble_app_hrs_pca10056_s140.emProject
      +++ b/ble_app_hrs_pca10100_s140.emProject
      @@ -1,6 +1,6 @@
       <!DOCTYPE CrossStudio_Project_File>
      -<solution Name="ble_app_hrs_pca10056_s140" target="8" version="2">
      -  <project Name="ble_app_hrs_pca10056_s140">
      +<solution Name="ble_app_hrs_pca10100_s140" target="8" version="2">
      +  <project Name="ble_app_hrs_pca10100_s140">
           <configuration
             Name="Common"
             arm_architecture="v7EM"
      @@ -13,14 +13,14 @@
             arm_linker_stack_size="8192"
             arm_linker_treat_warnings_as_errors="No"
             arm_simulator_memory_simulation_parameter="RWX 00000000,00100000,FFFFFFFF;RWX 20000000,00010000,CDCDCDCD"
      -      arm_target_device_name="nRF52840_xxAA"
      +      arm_target_device_name="nRF52833_xxAA"
             arm_target_interface_type="SWD"
             c_user_include_directories="../../../config;../../../../../../components;../../../../../../components/ble/ble_advertising;../../../../../../components/ble/ble_dtm;../../../../../../components/ble/ble_racp;../../../../../../components/ble/ble_services/ble_ancs_c;../../../../../../components/ble/ble_services/ble_ans_c;../../../../../../components/ble/ble_services/ble_bas;../../../../../../components/ble/ble_services/ble_bas_c;../../../../../../components/ble/ble_services/ble_cscs;../../../../../../components/ble/ble_services/ble_cts_c;../../../../../../components/ble/ble_services/ble_dfu;../../../../../../components/ble/ble_services/ble_dis;../../../../../../components/ble/ble_services/ble_gls;../../../../../../components/ble/ble_services/ble_hids;../../../../../../components/ble/ble_services/ble_hrs;../../../../../../components/ble/ble_services/ble_hrs_c;../../../../../../components/ble/ble_services/ble_hts;../../../../../../components/ble/ble_services/ble_ias;../../../../../../components/ble/ble_services/ble_ias_c;../../../../../../components/ble/ble_services/ble_lbs;../../../../../../components/ble/ble_services/ble_lbs_c;../../../../../../components/ble/ble_services/ble_lls;../../../../../../components/ble/ble_services/ble_nus;../../../../../../components/ble/ble_services/ble_nus_c;../../../../../../components/ble/ble_services/ble_rscs;../../../../../../components/ble/ble_services/ble_rscs_c;../../../../../../components/ble/ble_services/ble_tps;../../../../../../components/ble/common;../../../../../../components/ble/nrf_ble_gatt;../../../../../../components/ble/nrf_ble_qwr;../../../../../../components/ble/peer_manager;../../../../../../components/boards;../../../../../../components/libraries/atomic;../../../../../../components/libraries/atomic_fifo;../../../../../../components/libraries/atomic_flags;../../../../../../components/libraries/balloc;../../../../../../components/libraries/bootloader/ble_dfu;../../../../../../components/libraries/bsp;../../../../../../components/libraries/button;../../../../../../components/libraries/cli;../../../../../../components/libraries/crc16;../../../../../../components/libraries/crc32;../../../../../../components/libraries/crypto;../../../../../../components/libraries/crypto/backend/cc310;../../../../../../components/libraries/crypto/backend/cc310_bl;../../../../../../components/libraries/crypto/backend/cifra;../../../../../../components/libraries/crypto/backend/mbedtls;../../../../../../components/libraries/crypto/backend/micro_ecc;../../../../../../components/libraries/crypto/backend/nrf_hw;../../../../../../components/libraries/crypto/backend/nrf_sw;../../../../../../components/libraries/crypto/backend/oberon;../../../../../../components/libraries/crypto/backend/optiga;../../../../../../components/libraries/csense;../../../../../../components/libraries/csense_drv;../../../../../../components/libraries/delay;../../../../../../components/libraries/ecc;../../../../../../components/libraries/experimental_section_vars;../../../../../../components/libraries/experimental_task_manager;../../../../../../components/libraries/fds;../../../../../../components/libraries/fstorage;../../../../../../components/libraries/gfx;../../../../../../components/libraries/gpiote;../../../../../../components/libraries/hardfault;../../../../../../components/libraries/hci;../../../../../../components/libraries/led_softblink;../../../../../../components/libraries/log;../../../../../../components/libraries/log/src;../../../../../../components/libraries/low_power_pwm;../../../../../../components/libraries/mem_manager;../../../../../../components/libraries/memobj;../../../../../../components/libraries/mpu;../../../../../../components/libraries/mutex;../../../../../../components/libraries/pwm;../../../../../../components/libraries/pwr_mgmt;../../../../../../components/libraries/queue;../../../../../../components/libraries/ringbuf;../../../../../../components/libraries/scheduler;../../../../../../components/libraries/sdcard;../../../../../../components/libraries/sensorsim;../../../../../../components/libraries/slip;../../../../../../components/libraries/sortlist;../../../../../../components/libraries/spi_mngr;../../../../../../components/libraries/stack_guard;../../../../../../components/libraries/stack_info;../../../../../../components/libraries/strerror;../../../../../../components/libraries/svc;../../../../../../components/libraries/timer;../../../../../../components/libraries/twi_mngr;../../../../../../components/libraries/twi_sensor;../../../../../../components/libraries/usbd;../../../../../../components/libraries/usbd/class/audio;../../../../../../components/libraries/usbd/class/cdc;../../../../../../components/libraries/usbd/class/cdc/acm;../../../../../../components/libraries/usbd/class/hid;../../../../../../components/libraries/usbd/class/hid/generic;../../../../../../components/libraries/usbd/class/hid/kbd;../../../../../../components/libraries/usbd/class/hid/mouse;../../../../../../components/libraries/usbd/class/msc;../../../../../../components/libraries/util;../../../../../../components/nfc/ndef/conn_hand_parser;../../../../../../components/nfc/ndef/conn_hand_parser/ac_rec_parser;../../../../../../components/nfc/ndef/conn_hand_parser/ble_oob_advdata_parser;../../../../../../components/nfc/ndef/conn_hand_parser/le_oob_rec_parser;../../../../../../components/nfc/ndef/connection_handover/ac_rec;../../../../../../components/nfc/ndef/connection_handover/ble_oob_advdata;../../../../../../components/nfc/ndef/connection_handover/ble_pair_lib;../../../../../../components/nfc/ndef/connection_handover/ble_pair_msg;../../../../../../components/nfc/ndef/connection_handover/common;../../../../../../components/nfc/ndef/connection_handover/ep_oob_rec;../../../../../../components/nfc/ndef/connection_handover/hs_rec;../../../../../../components/nfc/ndef/connection_handover/le_oob_rec;../../../../../../components/nfc/ndef/generic/message;../../../../../../components/nfc/ndef/generic/record;../../../../../../components/nfc/ndef/launchapp;../../../../../../components/nfc/ndef/parser/message;../../../../../../components/nfc/ndef/parser/record;../../../../../../components/nfc/ndef/text;../../../../../../components/nfc/ndef/uri;../../../../../../components/nfc/platform;../../../../../../components/nfc/t2t_lib;../../../../../../components/nfc/t2t_parser;../../../../../../components/nfc/t4t_lib;../../../../../../components/nfc/t4t_parser/apdu;../../../../../../components/nfc/t4t_parser/cc_file;../../../../../../components/nfc/t4t_parser/hl_detection_procedure;../../../../../../components/nfc/t4t_parser/tlv;../../../../../../components/softdevice/common;../../../../../../components/softdevice/s140/headers;../../../../../../components/softdevice/s140/headers/nrf52;../../../../../../components/toolchain/cmsis/include;../../../../../../external/fprintf;../../../../../../external/mbedtls/include;../../../../../../external/nrf_cc310/include;../../../../../../external/nrf_oberon;../../../../../../external/nrf_oberon/include;../../../../../../external/nrf_tls/mbedtls/nrf_crypto/config;../../../../../../external/segger_rtt;../../../../../../external/utf_converter;../../../../../../integration/nrfx;../../../../../../integration/nrfx/legacy;../../../../../../modules/nrfx;../../../../../../modules/nrfx/drivers/include;../../../../../../modules/nrfx/hal;../../../../../../modules/nrfx/mdk;../config;"
      -      c_preprocessor_definitions="APP_TIMER_V2;APP_TIMER_V2_RTC1_ENABLED;BLE_STACK_SUPPORT_REQD;BOARD_PCA10056;CONFIG_GPIO_AS_PINRESET;FLOAT_ABI_HARD;INITIALIZE_USER_SECTIONS;MBEDTLS_CONFIG_FILE=&quot;nrf_crypto_mbedtls_config.h&quot;;NO_VTOR_CONFIG;NRF52840_XXAA;NRF_CRYPTO_MAX_INSTANCE_COUNT=1;NRF_SD_BLE_API_VERSION=7;S140;SOFTDEVICE_PRESENT;"
      +      c_preprocessor_definitions="APP_TIMER_V2;APP_TIMER_V2_RTC1_ENABLED;BLE_STACK_SUPPORT_REQD;BOARD_PCA10100;CONFIG_GPIO_AS_PINRESET;FLOAT_ABI_HARD;INITIALIZE_USER_SECTIONS;MBEDTLS_CONFIG_FILE=&quot;nrf_crypto_mbedtls_config.h&quot;;NO_VTOR_CONFIG;NRF52833_XXAA;NRF_CRYPTO_MAX_INSTANCE_COUNT=1;NRF_SD_BLE_API_VERSION=7;S140;SOFTDEVICE_PRESENT;"
             debug_target_connection="J-Link"
             gcc_entry_point="Reset_Handler"
             macros="CMSIS_CONFIG_TOOL=../../../../../../external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar"
      -      debug_register_definition_file="../../../../../../modules/nrfx/mdk/nrf52840.svd"
      +      debug_register_definition_file="../../../../../../modules/nrfx/mdk/nrf52833.svd"
             debug_additional_load_file="../../../../../../components/softdevice/s140/hex/s140_nrf52_7.2.0_softdevice.hex"
             debug_start_from_entry_point_symbol="No"
             gcc_debugging_level="Level 3"      linker_output_format="hex"
      @@ -28,17 +28,14 @@
             linker_printf_fmt_level="long"
             linker_scanf_fmt_level="long"
             linker_section_placement_file="flash_placement.xml"
      -      linker_section_placement_macros="FLASH_PH_START=0x0;FLASH_PH_SIZE=0x100000;RAM_PH_START=0x20000000;RAM_PH_SIZE=0x40000;FLASH_START=0x27000;FLASH_SIZE=0xd9000;RAM_START=0x20002be0;RAM_SIZE=0x3d420"
      +      linker_section_placement_macros="FLASH_PH_START=0x0;FLASH_PH_SIZE=0x80000;RAM_PH_START=0x20000000;RAM_PH_SIZE=0x20000;FLASH_START=0x27000;FLASH_SIZE=0x59000;RAM_START=0x20002be0;RAM_SIZE=0x1d420"
             
      -      linker_section_placements_segments="FLASH RX 0x0 0x100000;RAM1 RWX 0x20000000 0x40000"
      +      linker_section_placements_segments="FLASH RX 0x0 0x80000;RAM1 RWX 0x20000000 0x20000"
             project_directory=""
             project_type="Executable" />
             <folder Name="Segger Startup Files">
               <file file_name="$(StudioDir)/source/thumb_crt0.s" />
             </folder>
      -    <folder Name="nrf_cc310">
      -      <file file_name="../../../../../../external/nrf_cc310/lib/cortex-m4/hard-float/libnrf_cc310_0.9.13.a" />
      -    </folder>
           <folder Name="Board Support">
             <file file_name="../../../../../../components/libraries/bsp/bsp.c" />
             <file file_name="../../../../../../components/libraries/bsp/bsp_btn_ble.c" />
      @@ -109,7 +106,7 @@
           </folder>
           <folder Name="nRF_Oberon_Crypto">
             <file file_name="../../../../../../external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.6.a" />
      -    </folder>
      +    </folder>									 																										  			 
           <folder Name="nRF_Crypto">
             <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_aead.c" />
             <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_aes.c" />
      @@ -136,24 +133,9 @@
             <file file_name="../../../../../../external/segger_rtt/SEGGER_RTT_printf.c" />
           </folder>
           <folder Name="None">
      -      <file file_name="../../../../../../modules/nrfx/mdk/ses_startup_nrf52840.s" />
      +      <file file_name="../../../../../../modules/nrfx/mdk/ses_startup_nrf52833.s" />
             <file file_name="../../../../../../modules/nrfx/mdk/ses_startup_nrf_common.s" />
      -      <file file_name="../../../../../../modules/nrfx/mdk/system_nrf52840.c" />
      -    </folder>
      -    <folder Name="nRF_Crypto backend CC310">
      -      <file file_name="../../../../../../components/libraries/crypto/backend/cc310/cc310_backend_aes.c" />
      -      <file file_name="../../../../../../components/libraries/crypto/backend/cc310/cc310_backend_aes_aead.c" />
      -      <file file_name="../../../../../../components/libraries/crypto/backend/cc310/cc310_backend_chacha_poly_aead.c" />
      -      <file file_name="../../../../../../components/libraries/crypto/backend/cc310/cc310_backend_ecc.c" />
      -      <file file_name="../../../../../../components/libraries/crypto/backend/cc310/cc310_backend_ecdh.c" />
      -      <file file_name="../../../../../../components/libraries/crypto/backend/cc310/cc310_backend_ecdsa.c" />
      -      <file file_name="../../../../../../components/libraries/crypto/backend/cc310/cc310_backend_eddsa.c" />
      -      <file file_name="../../../../../../components/libraries/crypto/backend/cc310/cc310_backend_hash.c" />
      -      <file file_name="../../../../../../components/libraries/crypto/backend/cc310/cc310_backend_hmac.c" />
      -      <file file_name="../../../../../../components/libraries/crypto/backend/cc310/cc310_backend_init.c" />
      -      <file file_name="../../../../../../components/libraries/crypto/backend/cc310/cc310_backend_mutex.c" />
      -      <file file_name="../../../../../../components/libraries/crypto/backend/cc310/cc310_backend_rng.c" />
      -      <file file_name="../../../../../../components/libraries/crypto/backend/cc310/cc310_backend_shared.c" />
      +      <file file_name="../../../../../../modules/nrfx/mdk/system_nrf52833.c" />
           </folder>
           <folder Name="nRF_BLE">
             <file file_name="../../../../../../components/ble/peer_manager/auth_status_tracker.c" />
      
    • diff --git a/sdk_config_nrf52840.h b/sdk_config.h
      index 8ebd29a..3ed2c78 100644
      --- a/sdk_config_nrf52840.h
      +++ b/sdk_config.h
      @@ -709,7 +709,7 @@
       // <i> The CC310 hardware-accelerated cryptography backend (only available on nRF52840).
       //==========================================================
       #ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED
      -#define NRF_CRYPTO_BACKEND_CC310_ENABLED 1
      +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0
       #endif
       // <q> NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED  - Enable the AES CBC mode using CC310.
        
      @@ -1181,7 +1181,7 @@
       // <i> The nRF HW backend provide access to RNG peripheral in nRF5x devices.
       //==========================================================
       #ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED
      -#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0
      +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 1
       #endif
       // <q> NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED  - Enable mbed TLS CTR-DRBG algorithm.
        
      @@ -1217,7 +1217,7 @@
       // <i> The Oberon backend
       //==========================================================
       #ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED
      -#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0
      +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 1
       #endif
       // <q> NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED  - Enable the CHACHA-POLY mode using Oberon.
        
      

    Best regards,
    Jørgen

  • Hi Jørgen,

    That works perfectly after a little RAM_START change to adapt. Changing all the previous steps as well as the backend did the trick since I am using the same softdevice.

    Thank you very much for the help !

    FM

Related