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

Segger Embedded Studio, Bluetooth mesh light switch example. boards.h: No such file or directory

Hello,

I just installed SEGGER Embedded Studio to build the light switch example for Bluetooth mesh.

I managed to successfully follow the quick start guide using 3 development kits (nRF52) and the python script. But now I want to build using SEGGER instead and it seems like whatever I do, the solution can't find the root to the nRF52 SDK instance.

Here you can see the build log with error.

And here you can see my global macros. I followed this guide.

Any ideas?

Parents
  • Hi,

    From the path that you set as SDK_ROOT, it looks like you are pointing to the Thingy:52 firmware (based on a different version of the nRF5 SDK), and not to the correct version of the nRF5 SDK?

    The easiest way to ensure that the nRF5 SDK for Mesh can find the base nRF5 SDK is to put them side by side in the same folder. E.g. the root folder of the mesh SDK is "<some folder>/nrf5_SDK_for_Mesh_v3.1.0_src", and the root folder of the nRF5 SDK is "<some folder>/nRF5_SDK_15.3.0_59ac345".

    Regards,
    Terje

Reply
  • Hi,

    From the path that you set as SDK_ROOT, it looks like you are pointing to the Thingy:52 firmware (based on a different version of the nRF5 SDK), and not to the correct version of the nRF5 SDK?

    The easiest way to ensure that the nRF5 SDK for Mesh can find the base nRF5 SDK is to put them side by side in the same folder. E.g. the root folder of the mesh SDK is "<some folder>/nrf5_SDK_for_Mesh_v3.1.0_src", and the root folder of the nRF5 SDK is "<some folder>/nRF5_SDK_15.3.0_59ac345".

    Regards,
    Terje

Children
  • Hello!

    I am not sure what you mean by the first sentence, am I supposed to set the root to something else?

    I actually did put them side by side in the same folder, but still no success there. I tried lots of different configurations but couldn't figure it out at all.

    I have another similar problem right now which is not completely related as well, where I put the mesh sdk into the the Nordic-Thingy52-FW-master directory. I then wanted to create a Makefile in the mesh sdk with CMake and include it into my project Makefile, to access all of the stuff from the mesh more conveniently in my project. But I keep getting this strange error.

    robban@:mesh_sdk$ cmake -DSDK_ROOT=..
    -- Configuring CMake for nRF5 SDK for Bluetooth Mesh 3.1.0
    -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
    CMake Warning at CMake/FindSDK.cmake:56 (message):
      
    
        Could not find the nRF5 SDK. The build will fail.
        Please run the nRF5_SDK target to download it or provide the correct path
        using the -DSDK_ROOT option or setting the SDK_ROOT environment variable.
        After the download is complete, re-run `cmake`.
    
    Call Stack (most recent call first):
      CMakeLists.txt:49 (include)
    
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/robban/sommarjobb/hubben/Nordic-Thingy52-FW-master/mesh_sdk

    Specifically I don't understand this part, I have seen it before while working with my first problem I described above:

    Please run the nRF5_SDK target

    Maybe you recommend a better way of integrating my mesh into the project? I just don't want to put like 100+ files into my project Makefile manually.

  • Hi,

    Assuming that you are working with Thingy:52, there are three SDKs involved here.

    • The first one is nRF5 SDK, which is our "normal" base SDK.
    • The second one is the nRF5 SDK for Mesh, which is a separate SDK that must be used in addition to the correct version of nRF5 SDK. For the latest version, this is nRF5 SDK v15.2.0.
    • The third one is the Nordic Thingy:52 SDK, which is a fork of the nRF5 SDK v13 with the Thingy:52 application.

    The main issue is that while the Thingy:52 firmware is a variant of nRF5 SDK v13, the latest release of the nRF5 SDK for Mesh needs nRF5 SDK v15.2.

    If you are to mix Thingy:52 firmware with nRF5 SDK for mesh, then the best approach would be to port the Thingy:52 firmware from SDK 13 to SDK 15.2, then use the latest version of nRF5 SDK for Mesh with that version of the nRF5 SDK.

    There are no versions of the nRF5 SDK for Mesh that are built for nRF5 SDK v13 or older.

    If you are not working on a Thingy:52 project, then you can just use nRF5 SDK v15.2 and nRF5 SDK for Mesh 3.1.0.

    Regards,
    Terje

  •  Porting it sounds like a lot of work. I will try of course but why isn't mesh easily supported on the Thingy52 without porting?

Related