Porting nRF52840 DK code to nRF52805

I have written BTLE code that works on the nRF52840 DK using SoftDevice s140. I have ported this code to work on the nRF51 DK and nrf51822 MCU using SoftDevice s130. I use SoftDevice only for flash writes and BTLE. I would like to know what it would take to port this code to the nRF52805 MCU? What SoftDevice should I use (would like the latest supported)?

Parents
  • Hi,

    On the following link you can find a nice guide on porting to nRF52805:

    https://devzone.nordicsemi.com/nordic/short-range-guides/b/getting-started/posts/developing-for-the-nrf52805-with-nrf5-sdk

    As it says, supported SD is s112, and other things you should keep an eye on is the memory layout and GPIO pin assignment.

    Also, there are some files that need to be patched in the SDK, to enable support for the nRF52805.

    Good luck!

  • Yes, I took a look at that. At the moment, my projects involve on code on the MCU - I have no sensor MCU. I was looking for some insight into the differences Bluetooth-wise, s140 to s112 or s130 to s112, I am not sure I really understand what the differences between these SoftDevice versions are.

  • In my project there are options for several different boards. They were inherited from the hts project I started with. I used that project to get the board setup correctly. I then implemented this generic health sensor project that is being done in conjunction with the BT-SIG Med Working Group. It used S140 and the pca10056 board to run on the nRF52840 DK. I had both a Keil and SES version operational.

    But I noted the project had a pca10040e S112 option. It did not take too much effort (had to if def the extended characteristic lengths out of the code) to get that variant to build using the Keil and SES compilers. Would that run on the nRF52805 MCU? I am assuming it wont run on the nRF52840 DK but how about the nRF52 DK?

    I just downloaded the latest SDK for nRF5 and was able just copy my project into this new SDK and it built and ran without an issue. So it appears that my attempt above should work for the nRF52805. I might need to replace some h and c files with those in the patch.

    I don't see any use of s113.

  • Please make sure that you understand that even if running a softdevice on a different variants works, it is not tested and qualified by Nordic. Only those softdevices and releases listed in the compatibility matrix should be used:
    https://infocenter.nordicsemi.com/topic/comp_matrix_nrf52805/COMP/nrf52805/nrf52805_ble_qdid.html 

  • It builds but I don't have an nRF52 DK. I also downloaded the SDK for the nRF52 DK and I simply moved my directory into the examples directory of the updated SDK. It built an ran on my nRF52840 DK without a single modification. (The new SDK is only the latest update of the one I have currently - there have been no other updates in between. There are some experimental projects using board pca10056 with s112 (I don't know if there was an s113 - those were VERY rare). Supposedly that will run on the nRF52805.

    Basically what I am trying to figure out is the extent of the code modifications I will need to make. So far, from what I use, moving down to s112 from s140 only eliminates one feature (the extended length negotiation),

  • from what I use, moving down to s112 from s140 only eliminates one feature (the extended length negotiation

    If you need DLE, then check also s113. S113 does have it, while s112 doesn't.

  • I am sorry that I don't know what DLE is. I just found an experimental package for board pca10056 using s113 (not s112). I made a copy of the directory, renamed it, and replaced my main files with it's main file and added all my other source an h-files (leaving sdk_config.h alone) and it built. I have not run it on my nRF52840 DK. But it was a project that used a SoftDevice compatible with the nRF52805 using a board I have. So it's a start. 

    I do not understand what half of the items in the sdk_config.h file mean or do. I would give anything to find good documentation about it. For most stuff I don't know what to keep (1) and what to toss out (0). I don't know if I need GATT support or not or GATT Queue (using only SoftDevice and not the BTLE SDK.

    What is the difference between pca10056 and pca10056e? Can I use the nRF52840 DK to run a pca10056e project?

Reply
  • I am sorry that I don't know what DLE is. I just found an experimental package for board pca10056 using s113 (not s112). I made a copy of the directory, renamed it, and replaced my main files with it's main file and added all my other source an h-files (leaving sdk_config.h alone) and it built. I have not run it on my nRF52840 DK. But it was a project that used a SoftDevice compatible with the nRF52805 using a board I have. So it's a start. 

    I do not understand what half of the items in the sdk_config.h file mean or do. I would give anything to find good documentation about it. For most stuff I don't know what to keep (1) and what to toss out (0). I don't know if I need GATT support or not or GATT Queue (using only SoftDevice and not the BTLE SDK.

    What is the difference between pca10056 and pca10056e? Can I use the nRF52840 DK to run a pca10056e project?

Children
Related