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

Difference between the various projects within an example in the nRF51 SDKs

There are the following projects under the Health Thermometer example for Keil

What is the difference between them when trying to install on the nRF51 DK? I could not find any documentation or read me describing what these are for.

Which should I use when I desperately want to get something to work on the DK? So far I have had no luck with the s110 project. Should I be using the UART?

s110
ser_s110_hci
ser_s110_spi
ser_s110_uart

Parents
  • Hi,

    You should use  "s110" configuration. The other ones pre-fixed with "ser_" are configured for serialization (i.e. 2 chip solution - one host processor + one connectivity process. See Running a serialized application).

    Which SDK/Softdevice combination are you testing with (comp. matrix SDKs and SoftDevices )?

  • Okay, that was my guess. So I am choosing the correct one. One day I might get rid of that damn Cortex-M0 error on flashing. 

  • I suggest you don't change the device type for now. The DK comes with the nrf51422_xxac variant.

    The screenshot shows that a hardfault exception has been raised, and it looks like the Softdevice may be missing,

    Please try to program the Softdevice seperately with either nrf connect or nrfjpog, and only load the app with keil.

    Softdevice:

    3022.s130_nrf51_2.0.1_softdevice.hex

  • I noted the messed up assembly code. But I have tried what you have said many times - load softdevice with nrfConnect, but any time I load the app hex after SoftDevice, COrtex M0. I have been doing this for a couple of days and there are few things I have not tried.

    But I have always changed to nrf51822 - that is a variant I have not done.

    That worked!!

    The main cause of the problem was not the settings, but migrating to version 5 (uprojx). If I don't do that, it works and I receive heart rate measuements.

    I also noted that I didnt need to migrate to the new Kiel version in this SDK. I do in SDK 8.1.0. In the 8.1.0 SDK the targets field is empty, not so here.

    Keil told me I needed to migrate. That solved the target selection option in 8.1.0.

    So what do I make of all this?

    I have no good solution for SDK 8.1.0

    For SDK 10 then

    DO NOT migrate project to newer Keil project format - that changes too many default settings

    If you move to a different device, the correct Debug settings need to be done.

    Somewhere all those default settings need to available.

    Next step for me is to try and do this for device nrf51822. I have to work with that chip. I will stick with SDK 12.3.0 and SoftDevice s130.  But I will need the correct address settings. Are they different than the default target device?

  • Ok, that's good. But have you tried using the actual Keil5 project in 'arm5_no_packs'?

    brianreinhold said:
    Next step for me is to try and do this for device nrf51822

     You don't really need to change the device type. 51822 and 51422 are identical HW wise, the difference is that 51422 is licensed for use with the ANT protocol stacks. What's important is that you know the package variant (ie memory configuration), and adjust the memory layout accordingly. You can find an overview of the different package options here: nRF51822 IC revisions and variants

  • What is the advantage of using Keil no packs? I had a great deal of trouble in my version 8.1.0 attempt because I did not have the packs. No Packs mean installing all that stuff yourself and worse, knowing which of those countless options one needs.

    I did not know there was no hardware difference between nrf51822 and nrf51444. The production device code that I have to fix is on an nrf51822 so clearly I went with that! Of course the serious issue that I didn't know was that Keil resets everything when changing the target device AND migrating the project to the new format. In the end THAT is what cost two days of frustration.

    I have another production device that I am going to have to work with that uses an nRF52805. I hope to use Segger Embedded Studio for that. What kind of issues will I face with this chip? Being an nRF52 series maybe I can use the latest SDK and SoftDevice???

  • The advantage is that it's a Keil 5 project, so no migration is needed. The difference compared to Keil 4 projects is that the startup files are installed via the packs installer.

    CMSIS-Pack files

    nRF5205 can be used with the latest nRF5 SDK (v17.0.2), please see this blog post to get started: https://devzone.nordicsemi.com/nordic/short-range-guides/b/getting-started/posts/developing-for-the-nrf52805-with-nrf5-sdk

Reply Children
No Data
Related