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

Not work ble_app_hrs with nRF5_SDK_17.0.0_9d13099

Hello.

I'm beginner on Nordic product and checking the examples with nRF5_SDK_17.0.0_9d13099 on nRF52833 DK Board.

I tested ble_app_uart and it works.  Now checking ble_app_hrs, but ble_app_hrs do not support pca10100.

I did the follow steps:

1) copy ble_app_hrs/pca10100 from ble_app_uart/pca10100, use a s140 folder.

2) compare ble_app_hrs/pca10059/s140/ses with ble_app_hrs/pca10100/s140.

  Modified the emProject file and copied ble_app_hrs/pca10059/s140/config/sdk_config.h to ble_app_hrs/pca10100/s140/config/sdk_config.h

  sdk_config.h - Enabled RTT and Log Default had set to "DEBUG".

3) Compile, download and run it, it shows the message on RTT Viewer.

<warning> nrf_sdh_ble: Insufficient RAM allocated for the SoftDevice.

<warning> nrf_sdh_ble: Change the RAM start location from 0x20002AE8 to 0x20002BE0.

<warning> nrf_sdh_ble: Maximum RAM size for application is 0x1D420.

<error> nrf_sdh_ble: sd_ble_enable() returned NRF_ERROR_NO_MEM.

4) Changed RAM_START and RAM_SIZE. Compile and run, but it is not work, LED1 is not blinking.

What did I miss ?  I attached a emProject file and a sdk_config.h file. 

Please check it and give a advice how to correct it.

ble_app_hrs_pca10100_s140.zip

  • Hi

    Here are the changes needed to port a pca10056 project to a pca10100 project:

    • As the nrf_crypto library provides a unified API. The only thing you need to do is to disable the CC310 backend 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, as well as setting 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.
    • Next, you will also have to do these changes to your project settings. Change to device "NordicSemiconductor->nRF52833_xxaa". In the C/C++ preprocessor settings, remove the defines "NRF52" and "NRF52840_XXAA" and add the preprocessor define "NRF52833_XXAA". In the linker script settings, adjust the linker script to match the maximum RAM and Flash size of nRF52833. Remove the following files from the project: <compiler>_startup_nrf52.s and system_nrf52.c and add the following files to the project: <compiler>_startup_nrf52833.s and system_nrf52833.c.

    Did you remember to set configuration in Options to Common before editing the RAM start location to the correct amount? Please also do a full chip erase by, for example, doing an nrfjprog --eraseall to ensure you flash new firmware onto the device.

    Best regards,

    Simon

  • Hi Simonr,

    Thanks for your reply. Yes, I checked to set "Common" and now It works.

    I got know that nRF52840 has ARM CryptoCell.

    I have another question. it have applied s140,  Is it possible to s113 ?

    I copied pca10100/s140 to pca10100/s113 and s113/ses/ble_app_hrs_pca10100_s113.emProject is modified. 

    • debug_additional_load_file="../../../../../../components/softdevice/s113/hex/s113_nrf52_7.0.1_softdevice.hex
    • S140 to S113
    • 140 to 113

    It compiled and downloaded, but it not works, no blinking LED.

    I saw the document of Heart Rate Application in web. It required one of following SD: S132, S140, S312, S340.

    Please describes more detail the reason of S113.  What Central feature use this example?

    Regards,

    HyunSuk.

Related