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

Problem with SDK integration in Keil uVision for nRF52840

Hi everybody,

I am developing a wireless interface on an nRF52840 chip (Laird BL654) and I do have a problem with the SDK integration in Keil uVision.When "Manag(ing) the Run-Time Environment" in my project, the options nRF_BLE, nRF_Drivers, nRF_Libraries, nRF_Propiertary_RF and nRF_SoftDevice does not show up (see attached image 'missing SDK integration').

In projects for the nRF52832 the SDK options show up (see second image).

What can I do about it? I would really like to use it.

Info about my system: I have downloaded the latest SDK version (nRF5_SDK_16.0.0_98a08e2) and installed the Keil4 MDK installer (nRF_MDK_8_27_0_Keil4_NordicLicense.msi). My system is a Windows 10 PC with Keil uVision 5.26.2.0. I have tested this issue also with a newer Keil version.

Thanks in advance for any advice.

Parents
  • Hi,

    We did distribute SDK modules using Keil Packs for some SDK releases a few years back, including when the nRF52832 was new. The packs that you are seeing are probably from then, i.e. from nRF5 SDK v11 or thereabouts.

    We now distribute the nRF5 SDK as zip file only, and you add library files and include directories manually also in Keil.

    See also the public announcement from 2016: Deprecating support for CMSIS Pack in nRF5 SDK.

    Regards,
    Terje

  • Hi,

    thank you for your quick response. I have downloaded the latest SDK (nRF5 SDK v16.0.0, Release Date: October, 2019)  as a zip file. As far as I remember, I haven't installed any deprecated Keil packs.

    In the zip file, there is an installer (nRF_MDK_8_27_0_Keil4_NordicLicense.msi), which I have installed.

    If I open any example (e.g. nRF5_SDK\examples\peripheral\blinky\pca10056\blank\arm5_no_packs), I do get the following error:
    "The following Device Family Pack(s) are required by the project:
    NordicSemiconductor:nRF_DeviceFamilyPack:8.29.0"
    Interestingly after clicking "Install" the following error occurs:

    "Error instantiating RTE components
    Error #544: Required Software Pack 'NordicSemiconductor.nRF_DeviceFamilyPack_NordicLicense.8.27.0' is not installed
    Error #541: 'NordicSemiconductor::Device:Startup:8.27.0' component is missing (previously found in pack 'NordicSemiconductor.nRF_DeviceFamilyPack_NordicLicense.8.27.0')"

    Although the examples have the suffix "_no_packs", they depend on Keil packs.

    I do have some questions:

    1.) How do i setup a new project with the zip file and without Keil packs? Is there some documentation about it? I do not want to use an example to start a new project.
    2.) What is the purpose of the file "nRF_MDK_8_27_0_Keil4_NordicLicense.msi", if I have to add all dependencies to the zip file manually?
    3.) Why do examples depend on deprecated Keil packs? Or is my installation somehow broken?

Reply
  • Hi,

    thank you for your quick response. I have downloaded the latest SDK (nRF5 SDK v16.0.0, Release Date: October, 2019)  as a zip file. As far as I remember, I haven't installed any deprecated Keil packs.

    In the zip file, there is an installer (nRF_MDK_8_27_0_Keil4_NordicLicense.msi), which I have installed.

    If I open any example (e.g. nRF5_SDK\examples\peripheral\blinky\pca10056\blank\arm5_no_packs), I do get the following error:
    "The following Device Family Pack(s) are required by the project:
    NordicSemiconductor:nRF_DeviceFamilyPack:8.29.0"
    Interestingly after clicking "Install" the following error occurs:

    "Error instantiating RTE components
    Error #544: Required Software Pack 'NordicSemiconductor.nRF_DeviceFamilyPack_NordicLicense.8.27.0' is not installed
    Error #541: 'NordicSemiconductor::Device:Startup:8.27.0' component is missing (previously found in pack 'NordicSemiconductor.nRF_DeviceFamilyPack_NordicLicense.8.27.0')"

    Although the examples have the suffix "_no_packs", they depend on Keil packs.

    I do have some questions:

    1.) How do i setup a new project with the zip file and without Keil packs? Is there some documentation about it? I do not want to use an example to start a new project.
    2.) What is the purpose of the file "nRF_MDK_8_27_0_Keil4_NordicLicense.msi", if I have to add all dependencies to the zip file manually?
    3.) Why do examples depend on deprecated Keil packs? Or is my installation somehow broken?

Children
  • How do i setup a new project with the zip file and without Keil packs?

    You need to install one pack from the pack installer: the NordicSemiconductor.nRF_DeviceFamilyPack. But ignore the rest, as those are outdated. I think this pack is also available somewhere on the Nordic website, but the pack installer is the easiest way here.

    What is the purpose of the file "nRF_MDK_8_27_0_Keil4_NordicLicense.msi"

    I think this is only for uVision v4.x.x, not for v5.x.x

  • Hi,

    mrono said:
    I think this pack is also available somewhere on the Nordic website, but the pack installer is the easiest way here.

    The packs are available on web, at the same location where Keil get them: http://developer.nordicsemi.com/nRF5_SDK/pieces/nRF_DeviceFamilyPack/

    mrono said:
    I think this is only for uVision v4.x.x, not for v5.x.x

    Correct. The installer is only for Keil µVision 4. For v5 an installer is not required, because it distributes the MDK using the packs system.

    It is also correct that we still use one pack; that of the MDK.

    For starting a new project, I recommend starting from an example close to what you need, or starting from the template example.

    Regards,
    Terje

  • Thank you for your help! Slight smile

    I wasn't aware that there is a template project. I might start from there. 

    Interestingly, all example projects "arm5_no_packs" depend on the Keil pack and the "arm4" projects do not depend on any packs.

  • Hi,

    Yes, that is because in Keil5 that is the way the MDK is distributed. For Keil4 we use the installer. I guess we could have provided an instller for the MDK for Keil5 as well, but since we do have a distribution solution that works we still use packs for that one module. From what I understand the issues with packs had to do with distributing libraries, SoftDevices, etc., while for the MDK distribution packs is still the best working solution.

    The MDK contains header files and startup code for the nRF5x and nRF91 series devices, which means it is essential code for any development on our devices. It also handles configuration of the supported IDE's built-in programming and debugging tools. This means it is to a certain extent integrated with the IDE, which has implications for how we can distribute it.

    Regards,
    Terje

Related