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

Soft device 132 to S112 migration for nRF SDK Blinky example

Hello

I am facing extreme difficulty migrating soft devices for nRF SDK16, nRF 52832 - S132 to S112 on the nRF DK pca10040 package

I have consulted the following example for this procedure:

https://devzone.nordicsemi.com/f/nordic-q-a/40925/replace-s132-with-s112/159683#159683

And the simple global replacing with memory specification changes doesn't seem to work. It gives me a few errors. There is lack of migration support from Nordic which is very frustrating

We are just in the initial development phase and would like to use blinky example as our benchmark. I can't make the blinky example work with S112 despite following the steps mentioned in the link.

Please convert the ble_app_blinky example to S112 and guide me the steps here.

Thanks in advance

Ali

  • Hi Ali

    There should not be any "migration" necessary to change the SoftDevice on your application. What project are you trying to run with the S112 SoftDevice? What problems are you having? The main reason people usually have trouble is that the S112 has a few limitations compared to S132. First off, the S112 can not be a central, so you will not be able to run a project with a central on the S112 SoftDevice. Next, the S112 does not support Extended advertising, L2CAP with LE Credit-based Flow control, and LE data packet length extension, so if you try running a project with these features with S112 you'll likely experience some errors.

    If your project supports using S112, you should be able to compile, build and flash the project to your device along with the SoftDevice without any trouble.

    Best regards,

    Simon

  • Hi Simon

    In short, I am trying to migrate ble_app_blinky to s112

    Kindly guide me with the steps as global replacement of the S132 to S112 to in the configurable project doesn't work

    I tried the following link:

    https://devzone.nordicsemi.com/f/nordic-q-a/40925/replace-s132-with-s112/159683#159683

    1) Modify your application
    1.1) Go to your application folder and copy the entire folder pca10040\s132 to pca10040\s112
    1.2) Modify your project file to use S112 instead of S132
    1.2.1) In my case I use SES so I opened my project file (pca10040\s112\ses\application.emProject) in a text editor
    1.2.2) Do a global replace: 132 --> 112
    1.2.3) Change your flash section placement macros to align with the S112 requirements: FLASH_START=0x19000;FLASH_SIZE=0x67000
    1.2.4) Build

    I got build errors, please do it for me on the nRF SDK 16 ble_app_blinky example and share the steps

  • Also, the project is found in ble_peripheral section of the SDK so the S112 is supposed to work with it.

  • Hi Muhammad

    I've edited the ble_app_blinky project in SDK v.16.0.0 to use S112 instead of S132. Here are the necessary steps:

    1. Create a new folder in \nRF5_SDK_16.0.0_98a08e2\examples\ble_peripheral\ble_app_blinky\pca10040\ called s112 to make sure you still have the original project.
    2. Copy all files from \nRF5_SDK_16.0.0_98a08e2\examples\ble_peripheral\ble_app_blinky\pca10040\s132\ into this new folder.
    3. Open the .emproject file with Segger Embedded Studios.
    4. Open the project options in SES and set the build configuration to Common.
    5. Go to Linker, open Section Placement Macros, and change FLASH_SIZE, FLASH_START, RAM_START, and RAM_SIZE to the appropriate values for S112.
    6. Go to Preprocessor, open Preprocessor Definitions and change S132 to S112. 
    7. Open User Include Directories and change ../../../../../../components/softdevice/s132/headers &../../../../../../components/softdevice/s132/headers/nrf52 to ../../../../../../components/softdevice/s112/headers & ../../../../../../components/softdevice/s12/headers/nrf52
    8. Go to Loader (under Debug), open Additional Load File[0] and change this to /YOUR_SDK_FOLDER/nRF5_SDK_16.0.0_98a08e2/components/softdevice/s112/hex/s112_nrf52_7.0.1_softdevice.hex
    9. Compile, build, and run your project, and that should be it.

    Best regards,

    Simon

  • Thanks Simon

    You are a life saver.

    I would suggest you to update the link I attached with this link, because the steps regarding global replace of S132 to S112 doesn't work. The steps you just wrote should be addressed everywhere so developers don't get into this trouble again.

    Thanks again for your help and prompt response!

    Kind Regards

    Ali

Related