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.

  • I should probably add that I am using SoftDevice for Bluetooth and flash writes, not the SDK. I am handling the events being dispatched to my app in the main for-loop by SoftDevice.

    One advantage to that approach is that is that differences between SDK versions are substantial, differences between SoftDevice are not. Since I am only using one GATT service and two characteristics and only client writes and peripheral notifications/indications there is about as minimal Bluetooth for a connection that you can get.

    But it looks like the nRF52805 is only good with an s112 and s113. I assume I would use the latest version as that should have the most bug fixes.

    So far I have worked with s140 and s130 and a bit with s110 but the latter had some bugs on the flash write which were solved when I moved to s130.

    I guess I was hoping I could use s130 or s140 on the nRF52805 given I was only using BTLE.

  • Typically if you have different softdevices but with the same major version, then they are api compatible, but some changes in supported features and ram/flash size. When you download a new major version there should be a migration document that describe the main differences compared to the previous release. Some softdevice releases are targetted for specific variants of the nRF52-series.

    Kenneth

  • 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),

Reply
  • 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),

Children
Related