Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Migrating S112 to S113 and nRF52832 to nRF552840?

I have application developed that works ok on nRF52 DK (nRF52832) with S112 and now want to migrate it to a custom board with nRF52840.

  1. Could you confirm that S113 is applicable to nRF52840, because on this page S113 is listed only for nRF52833?
  2. Is there any migration guide or examples that are written for both S112 and S113 that can ease this migration?
  3. Can the old application with S112 with adjusting only the SOC defines and memory addresses work (at lest partially) on nRF52840 as I see plenty of examples for pca10056e with S112 ?

Thanks

Parents
  • Hi,

    Could you confirm that S113 is applicable to nRF52840, because on this page S113 is listed only for nRF52833?

    Yes. You can look at the SDKs and SoftDevices compatibility matrix for the nRF52840 to see all the details on which versions are compatible. 

    Is there any migration guide or examples that are written for both S112 and S113 that can ease this migration?

    There is no migration guide that explains this explicitly. The main things you need to remember are (of which you :

    • Change include path to the path of the new SoftDevice
    • Update defines for SoC type and SoftDevice type
    • Update memory (flash and RAM) addresses
    • Replace startup and system files in the project as you go from nRF52833 to nRF52840
    Can the old application with S112 with adjusting only the SOC defines and memory addresses work (at lest partially) on nRF52840 as I see plenty of examples for pca10056e with S112 ?

    It may work partially and can be used during development, but the combination should not be used in production. The S112 has not been tested on the nRF52840, so you should expect some issues and missing errata workarounds in the SoftDevice. Also, we have not doen BLE qualification for this combination.

  • Hi,

    This thread was stalled almost a week - I cant get those reply, verify etc. buttons under your post Disappointed 

    I moved to certain point first to try to migrate my existing code for s112 for 52832 to S113 for 52832, but have problem with memory addresses. The code compiles Ok, but when try to flash it, SES pops a red alert that multiple files overlap :(  Any example project with S113 for nrf52832, or some information how to calculate and verify all those  flash and ram addresses that are in project file?

    Thanks

  • Hi,

    I am sorry to hear about the issue with DevZone.

    There are not that many changes that is needed to change SoftDevice. Basically you need to change the path to the SoftDevice headers, some defines, and the start address of the SoftDevice. I have adjusted an SDK 17.0.2 project so that you can see an example of it. Take this zip s113.zip and place it under <SDK>\examples\ble_peripheral\ble_app_hrs\pca10056\. It works out of the box on the nRF52840 DK. You can diff the project file to another project for the same example to see what has changed.

    Update: There is a problem with uploading files now, but you can also use the content of the project file and copy-paste into <SDK>\examples\ble_peripheral\ble_app_hrs\pca10056\s140\ses\ble_app_hrs_pca10056_s140.emProject and use that:

    <!DOCTYPE CrossStudio_Project_File>
    <solution Name="ble_app_hrs_pca10056_s113" target="8" version="2">
      <project Name="ble_app_hrs_pca10056_s113">
        <configuration
          Name="Common"
          arm_architecture="v7EM"
          arm_core_type="Cortex-M4"
          arm_endian="Little"
          arm_fp_abi="Hard"
          arm_fpu_type="FPv4-SP-D16"
          arm_linker_heap_size="8192"
          arm_linker_process_stack_size="0"
          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_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/s113/headers;../../../../../../components/softdevice/s113/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="nrf_crypto_mbedtls_config.h";NO_VTOR_CONFIG;NRF52840_XXAA;NRF_CRYPTO_MAX_INSTANCE_COUNT=1;NRF_SD_BLE_API_VERSION=7;S113;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_additional_load_file="../../../../../../components/softdevice/s113/hex/s113_nrf52_7.2.0_softdevice.hex"
          debug_start_from_entry_point_symbol="No"
          gcc_debugging_level="Level 3"      linker_output_format="hex"
          linker_printf_width_precision_supported="Yes"
          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=0x1c000;FLASH_SIZE=0xe4000;RAM_START=0x20002be0;RAM_SIZE=0x3d420"
          
          linker_section_placements_segments="FLASH RX 0x0 0x100000;RAM1 RWX 0x20000000 0x40000"
          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" />
        </folder>
        <folder Name="nRF_Crypto backend nRF HW">
          <file file_name="../../../../../../components/libraries/crypto/backend/nrf_hw/nrf_hw_backend_init.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/nrf_hw/nrf_hw_backend_rng.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/nrf_hw/nrf_hw_backend_rng_mbedtls.c" />
        </folder>
        <folder Name="nRF_Libraries">
          <file file_name="../../../../../../components/libraries/button/app_button.c" />
          <file file_name="../../../../../../components/libraries/util/app_error.c" />
          <file file_name="../../../../../../components/libraries/util/app_error_handler_gcc.c" />
          <file file_name="../../../../../../components/libraries/util/app_error_weak.c" />
          <file file_name="../../../../../../components/libraries/scheduler/app_scheduler.c" />
          <file file_name="../../../../../../components/libraries/timer/app_timer2.c" />
          <file file_name="../../../../../../components/libraries/util/app_util_platform.c" />
          <file file_name="../../../../../../components/libraries/crc16/crc16.c" />
          <file file_name="../../../../../../components/libraries/timer/drv_rtc.c" />
          <file file_name="../../../../../../components/libraries/fds/fds.c" />
          <file file_name="../../../../../../components/libraries/hardfault/hardfault_implementation.c" />
          <file file_name="../../../../../../components/libraries/mem_manager/mem_manager.c" />
          <file file_name="../../../../../../components/libraries/util/nrf_assert.c" />
          <file file_name="../../../../../../components/libraries/atomic_fifo/nrf_atfifo.c" />
          <file file_name="../../../../../../components/libraries/atomic_flags/nrf_atflags.c" />
          <file file_name="../../../../../../components/libraries/atomic/nrf_atomic.c" />
          <file file_name="../../../../../../components/libraries/balloc/nrf_balloc.c" />
          <file file_name="../../../../../../external/fprintf/nrf_fprintf.c" />
          <file file_name="../../../../../../external/fprintf/nrf_fprintf_format.c" />
          <file file_name="../../../../../../components/libraries/fstorage/nrf_fstorage.c" />
          <file file_name="../../../../../../components/libraries/fstorage/nrf_fstorage_sd.c" />
          <file file_name="../../../../../../components/libraries/memobj/nrf_memobj.c" />
          <file file_name="../../../../../../components/libraries/pwr_mgmt/nrf_pwr_mgmt.c" />
          <file file_name="../../../../../../components/libraries/queue/nrf_queue.c" />
          <file file_name="../../../../../../components/libraries/ringbuf/nrf_ringbuf.c" />
          <file file_name="../../../../../../components/libraries/experimental_section_vars/nrf_section_iter.c" />
          <file file_name="../../../../../../components/libraries/sortlist/nrf_sortlist.c" />
          <file file_name="../../../../../../components/libraries/strerror/nrf_strerror.c" />
          <file file_name="../../../../../../components/libraries/sensorsim/sensorsim.c" />
        </folder>
        <folder Name="nRF_Drivers">
          <file file_name="../../../../../../integration/nrfx/legacy/nrf_drv_clock.c" />
          <file file_name="../../../../../../integration/nrfx/legacy/nrf_drv_rng.c" />
          <file file_name="../../../../../../integration/nrfx/legacy/nrf_drv_uart.c" />
          <file file_name="../../../../../../modules/nrfx/soc/nrfx_atomic.c" />
          <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_clock.c" />
          <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_gpiote.c" />
          <file file_name="../../../../../../modules/nrfx/drivers/src/prs/nrfx_prs.c" />
          <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_rng.c" />
          <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_uart.c" />
          <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_uarte.c" />
        </folder>
        <folder Name="Board Definition">
          <file file_name="../../../../../../components/boards/boards.c" />
        </folder>
        <folder Name="nRF_Log">
          <file file_name="../../../../../../components/libraries/log/src/nrf_log_backend_rtt.c" />
          <file file_name="../../../../../../components/libraries/log/src/nrf_log_backend_serial.c" />
          <file file_name="../../../../../../components/libraries/log/src/nrf_log_backend_uart.c" />
          <file file_name="../../../../../../components/libraries/log/src/nrf_log_default_backends.c" />
          <file file_name="../../../../../../components/libraries/log/src/nrf_log_frontend.c" />
          <file file_name="../../../../../../components/libraries/log/src/nrf_log_str_formatter.c" />
        </folder>
        <folder Name="nRF_TLS">
          <file file_name="../../../../../../external/mbedtls/library/aes.c" />
          <file file_name="../../../../../../external/mbedtls/library/ctr_drbg.c" />
          <file file_name="../../../../../../external/mbedtls/library/platform_util.c" />
        </folder>
        <folder Name="nRF_Oberon_Crypto">
          <file file_name="../../../../../../external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.6.a" />
        </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" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_aes_shared.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_ecc.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_ecdh.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_ecdsa.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_eddsa.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_error.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_hash.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_hkdf.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_hmac.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_init.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_rng.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_shared.c" />
        </folder>
        <folder Name="Application">
          <file file_name="../../../main.c" />
          <file file_name="../config/sdk_config.h" />
        </folder>
        <folder Name="nRF_Segger_RTT">
          <file file_name="../../../../../../external/segger_rtt/SEGGER_RTT.c" />
          <file file_name="../../../../../../external/segger_rtt/SEGGER_RTT_Syscalls_SES.c" />
          <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_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" />
        </folder>
        <folder Name="nRF_BLE">
          <file file_name="../../../../../../components/ble/peer_manager/auth_status_tracker.c" />
          <file file_name="../../../../../../components/ble/common/ble_advdata.c" />
          <file file_name="../../../../../../components/ble/ble_advertising/ble_advertising.c" />
          <file file_name="../../../../../../components/ble/common/ble_conn_params.c" />
          <file file_name="../../../../../../components/ble/common/ble_conn_state.c" />
          <file file_name="../../../../../../components/ble/common/ble_srv_common.c" />
          <file file_name="../../../../../../components/ble/peer_manager/gatt_cache_manager.c" />
          <file file_name="../../../../../../components/ble/peer_manager/gatts_cache_manager.c" />
          <file file_name="../../../../../../components/ble/peer_manager/id_manager.c" />
          <file file_name="../../../../../../components/ble/nrf_ble_gatt/nrf_ble_gatt.c" />
          <file file_name="../../../../../../components/ble/peer_manager/nrf_ble_lesc.c" />
          <file file_name="../../../../../../components/ble/nrf_ble_qwr/nrf_ble_qwr.c" />
          <file file_name="../../../../../../components/ble/peer_manager/peer_data_storage.c" />
          <file file_name="../../../../../../components/ble/peer_manager/peer_database.c" />
          <file file_name="../../../../../../components/ble/peer_manager/peer_id.c" />
          <file file_name="../../../../../../components/ble/peer_manager/peer_manager.c" />
          <file file_name="../../../../../../components/ble/peer_manager/peer_manager_handler.c" />
          <file file_name="../../../../../../components/ble/peer_manager/pm_buffer.c" />
          <file file_name="../../../../../../components/ble/peer_manager/security_dispatcher.c" />
          <file file_name="../../../../../../components/ble/peer_manager/security_manager.c" />
        </folder>
        <folder Name="UTF8/UTF16 converter">
          <file file_name="../../../../../../external/utf_converter/utf.c" />
        </folder>
        <folder Name="nRF_BLE_Services">
          <file file_name="../../../../../../components/ble/ble_services/ble_bas/ble_bas.c" />
          <file file_name="../../../../../../components/ble/ble_services/ble_dis/ble_dis.c" />
          <file file_name="../../../../../../components/ble/ble_services/ble_hrs/ble_hrs.c" />
        </folder>
        <folder Name="nRF_SoftDevice">
          <file file_name="../../../../../../components/softdevice/common/nrf_sdh.c" />
          <file file_name="../../../../../../components/softdevice/common/nrf_sdh_ble.c" />
          <file file_name="../../../../../../components/softdevice/common/nrf_sdh_soc.c" />
        </folder>
        <folder Name="nRF_Crypto backend Oberon">
          <file file_name="../../../../../../components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/oberon/oberon_backend_ecc.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/oberon/oberon_backend_hash.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/oberon/oberon_backend_hmac.c" />
        </folder>
      </project>
      <configuration Name="Release"
        c_preprocessor_definitions="NDEBUG"
        link_time_optimization="No"    gcc_optimization_level="Optimize For Size" />
      <configuration Name="Debug"
        c_preprocessor_definitions="DEBUG; DEBUG_NRF"
        gcc_optimization_level="None"/>
    
    </solution>
    

Reply
  • Hi,

    I am sorry to hear about the issue with DevZone.

    There are not that many changes that is needed to change SoftDevice. Basically you need to change the path to the SoftDevice headers, some defines, and the start address of the SoftDevice. I have adjusted an SDK 17.0.2 project so that you can see an example of it. Take this zip s113.zip and place it under <SDK>\examples\ble_peripheral\ble_app_hrs\pca10056\. It works out of the box on the nRF52840 DK. You can diff the project file to another project for the same example to see what has changed.

    Update: There is a problem with uploading files now, but you can also use the content of the project file and copy-paste into <SDK>\examples\ble_peripheral\ble_app_hrs\pca10056\s140\ses\ble_app_hrs_pca10056_s140.emProject and use that:

    <!DOCTYPE CrossStudio_Project_File>
    <solution Name="ble_app_hrs_pca10056_s113" target="8" version="2">
      <project Name="ble_app_hrs_pca10056_s113">
        <configuration
          Name="Common"
          arm_architecture="v7EM"
          arm_core_type="Cortex-M4"
          arm_endian="Little"
          arm_fp_abi="Hard"
          arm_fpu_type="FPv4-SP-D16"
          arm_linker_heap_size="8192"
          arm_linker_process_stack_size="0"
          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_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/s113/headers;../../../../../../components/softdevice/s113/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="nrf_crypto_mbedtls_config.h";NO_VTOR_CONFIG;NRF52840_XXAA;NRF_CRYPTO_MAX_INSTANCE_COUNT=1;NRF_SD_BLE_API_VERSION=7;S113;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_additional_load_file="../../../../../../components/softdevice/s113/hex/s113_nrf52_7.2.0_softdevice.hex"
          debug_start_from_entry_point_symbol="No"
          gcc_debugging_level="Level 3"      linker_output_format="hex"
          linker_printf_width_precision_supported="Yes"
          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=0x1c000;FLASH_SIZE=0xe4000;RAM_START=0x20002be0;RAM_SIZE=0x3d420"
          
          linker_section_placements_segments="FLASH RX 0x0 0x100000;RAM1 RWX 0x20000000 0x40000"
          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" />
        </folder>
        <folder Name="nRF_Crypto backend nRF HW">
          <file file_name="../../../../../../components/libraries/crypto/backend/nrf_hw/nrf_hw_backend_init.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/nrf_hw/nrf_hw_backend_rng.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/nrf_hw/nrf_hw_backend_rng_mbedtls.c" />
        </folder>
        <folder Name="nRF_Libraries">
          <file file_name="../../../../../../components/libraries/button/app_button.c" />
          <file file_name="../../../../../../components/libraries/util/app_error.c" />
          <file file_name="../../../../../../components/libraries/util/app_error_handler_gcc.c" />
          <file file_name="../../../../../../components/libraries/util/app_error_weak.c" />
          <file file_name="../../../../../../components/libraries/scheduler/app_scheduler.c" />
          <file file_name="../../../../../../components/libraries/timer/app_timer2.c" />
          <file file_name="../../../../../../components/libraries/util/app_util_platform.c" />
          <file file_name="../../../../../../components/libraries/crc16/crc16.c" />
          <file file_name="../../../../../../components/libraries/timer/drv_rtc.c" />
          <file file_name="../../../../../../components/libraries/fds/fds.c" />
          <file file_name="../../../../../../components/libraries/hardfault/hardfault_implementation.c" />
          <file file_name="../../../../../../components/libraries/mem_manager/mem_manager.c" />
          <file file_name="../../../../../../components/libraries/util/nrf_assert.c" />
          <file file_name="../../../../../../components/libraries/atomic_fifo/nrf_atfifo.c" />
          <file file_name="../../../../../../components/libraries/atomic_flags/nrf_atflags.c" />
          <file file_name="../../../../../../components/libraries/atomic/nrf_atomic.c" />
          <file file_name="../../../../../../components/libraries/balloc/nrf_balloc.c" />
          <file file_name="../../../../../../external/fprintf/nrf_fprintf.c" />
          <file file_name="../../../../../../external/fprintf/nrf_fprintf_format.c" />
          <file file_name="../../../../../../components/libraries/fstorage/nrf_fstorage.c" />
          <file file_name="../../../../../../components/libraries/fstorage/nrf_fstorage_sd.c" />
          <file file_name="../../../../../../components/libraries/memobj/nrf_memobj.c" />
          <file file_name="../../../../../../components/libraries/pwr_mgmt/nrf_pwr_mgmt.c" />
          <file file_name="../../../../../../components/libraries/queue/nrf_queue.c" />
          <file file_name="../../../../../../components/libraries/ringbuf/nrf_ringbuf.c" />
          <file file_name="../../../../../../components/libraries/experimental_section_vars/nrf_section_iter.c" />
          <file file_name="../../../../../../components/libraries/sortlist/nrf_sortlist.c" />
          <file file_name="../../../../../../components/libraries/strerror/nrf_strerror.c" />
          <file file_name="../../../../../../components/libraries/sensorsim/sensorsim.c" />
        </folder>
        <folder Name="nRF_Drivers">
          <file file_name="../../../../../../integration/nrfx/legacy/nrf_drv_clock.c" />
          <file file_name="../../../../../../integration/nrfx/legacy/nrf_drv_rng.c" />
          <file file_name="../../../../../../integration/nrfx/legacy/nrf_drv_uart.c" />
          <file file_name="../../../../../../modules/nrfx/soc/nrfx_atomic.c" />
          <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_clock.c" />
          <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_gpiote.c" />
          <file file_name="../../../../../../modules/nrfx/drivers/src/prs/nrfx_prs.c" />
          <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_rng.c" />
          <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_uart.c" />
          <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_uarte.c" />
        </folder>
        <folder Name="Board Definition">
          <file file_name="../../../../../../components/boards/boards.c" />
        </folder>
        <folder Name="nRF_Log">
          <file file_name="../../../../../../components/libraries/log/src/nrf_log_backend_rtt.c" />
          <file file_name="../../../../../../components/libraries/log/src/nrf_log_backend_serial.c" />
          <file file_name="../../../../../../components/libraries/log/src/nrf_log_backend_uart.c" />
          <file file_name="../../../../../../components/libraries/log/src/nrf_log_default_backends.c" />
          <file file_name="../../../../../../components/libraries/log/src/nrf_log_frontend.c" />
          <file file_name="../../../../../../components/libraries/log/src/nrf_log_str_formatter.c" />
        </folder>
        <folder Name="nRF_TLS">
          <file file_name="../../../../../../external/mbedtls/library/aes.c" />
          <file file_name="../../../../../../external/mbedtls/library/ctr_drbg.c" />
          <file file_name="../../../../../../external/mbedtls/library/platform_util.c" />
        </folder>
        <folder Name="nRF_Oberon_Crypto">
          <file file_name="../../../../../../external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.6.a" />
        </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" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_aes_shared.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_ecc.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_ecdh.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_ecdsa.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_eddsa.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_error.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_hash.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_hkdf.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_hmac.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_init.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_rng.c" />
          <file file_name="../../../../../../components/libraries/crypto/nrf_crypto_shared.c" />
        </folder>
        <folder Name="Application">
          <file file_name="../../../main.c" />
          <file file_name="../config/sdk_config.h" />
        </folder>
        <folder Name="nRF_Segger_RTT">
          <file file_name="../../../../../../external/segger_rtt/SEGGER_RTT.c" />
          <file file_name="../../../../../../external/segger_rtt/SEGGER_RTT_Syscalls_SES.c" />
          <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_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" />
        </folder>
        <folder Name="nRF_BLE">
          <file file_name="../../../../../../components/ble/peer_manager/auth_status_tracker.c" />
          <file file_name="../../../../../../components/ble/common/ble_advdata.c" />
          <file file_name="../../../../../../components/ble/ble_advertising/ble_advertising.c" />
          <file file_name="../../../../../../components/ble/common/ble_conn_params.c" />
          <file file_name="../../../../../../components/ble/common/ble_conn_state.c" />
          <file file_name="../../../../../../components/ble/common/ble_srv_common.c" />
          <file file_name="../../../../../../components/ble/peer_manager/gatt_cache_manager.c" />
          <file file_name="../../../../../../components/ble/peer_manager/gatts_cache_manager.c" />
          <file file_name="../../../../../../components/ble/peer_manager/id_manager.c" />
          <file file_name="../../../../../../components/ble/nrf_ble_gatt/nrf_ble_gatt.c" />
          <file file_name="../../../../../../components/ble/peer_manager/nrf_ble_lesc.c" />
          <file file_name="../../../../../../components/ble/nrf_ble_qwr/nrf_ble_qwr.c" />
          <file file_name="../../../../../../components/ble/peer_manager/peer_data_storage.c" />
          <file file_name="../../../../../../components/ble/peer_manager/peer_database.c" />
          <file file_name="../../../../../../components/ble/peer_manager/peer_id.c" />
          <file file_name="../../../../../../components/ble/peer_manager/peer_manager.c" />
          <file file_name="../../../../../../components/ble/peer_manager/peer_manager_handler.c" />
          <file file_name="../../../../../../components/ble/peer_manager/pm_buffer.c" />
          <file file_name="../../../../../../components/ble/peer_manager/security_dispatcher.c" />
          <file file_name="../../../../../../components/ble/peer_manager/security_manager.c" />
        </folder>
        <folder Name="UTF8/UTF16 converter">
          <file file_name="../../../../../../external/utf_converter/utf.c" />
        </folder>
        <folder Name="nRF_BLE_Services">
          <file file_name="../../../../../../components/ble/ble_services/ble_bas/ble_bas.c" />
          <file file_name="../../../../../../components/ble/ble_services/ble_dis/ble_dis.c" />
          <file file_name="../../../../../../components/ble/ble_services/ble_hrs/ble_hrs.c" />
        </folder>
        <folder Name="nRF_SoftDevice">
          <file file_name="../../../../../../components/softdevice/common/nrf_sdh.c" />
          <file file_name="../../../../../../components/softdevice/common/nrf_sdh_ble.c" />
          <file file_name="../../../../../../components/softdevice/common/nrf_sdh_soc.c" />
        </folder>
        <folder Name="nRF_Crypto backend Oberon">
          <file file_name="../../../../../../components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/oberon/oberon_backend_ecc.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/oberon/oberon_backend_hash.c" />
          <file file_name="../../../../../../components/libraries/crypto/backend/oberon/oberon_backend_hmac.c" />
        </folder>
      </project>
      <configuration Name="Release"
        c_preprocessor_definitions="NDEBUG"
        link_time_optimization="No"    gcc_optimization_level="Optimize For Size" />
      <configuration Name="Debug"
        c_preprocessor_definitions="DEBUG; DEBUG_NRF"
        gcc_optimization_level="None"/>
    
    </solution>
    

Children
  • Hello Einar,

    This with the forum is quite annoying some times - even now I had to hit refresh at least 20 times until get Reply button here Disappointed

    Thanks for the code - I unfortunately dont have PCA10056 (only few my custom boards with 52840) and tried first to migrate in PCA10040 (which I have) from S112 to S113, but hit on memory conflict and was not able to find right away necessary information, and because  this thread was locked I had to post another ticket for S113 on PCA10040/nRF62832 with S113.

    If I'm lucky to get assigned somebody from Nordic to be as useful as you, as soon as I solve this problem will move to the next step to migrate to 52840. Dont want to jump right away in the deep water, as the code I want to migrate is quite complex and I have plenty of problems until tune all the settings (especially the FreeRTOS stuff).

    Thank you and best regard - will try to post as soon as I move back to this step with 52840

  • Hi,

    I am sorry, I must have seen parts of the initial post as I adapted for nRF52840 instead of nRF51832. In any case you do it the same way. And regarding overlaps, you need to make sure that you set the FLASH_START to 0x1c000 and adjust the FLASH_SIZE. Same with RAM, though there you just need to set the RAM_START high enough, and can tune it later (see Adjustment of RAM and Flash memory). Let me know if you need more assistance on this.

  • Hi Einar,

    The link that you gave me is perfect. But are the values there still valid because versions of the S113 is not the recent one?

    I only do not see any tips on how to calculate/set heap_size and stack_size settings in the project file?  

    Thanks

Related