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

How to properly build a project for Nordic Thingy 52 ?

Hello dear Nordic Semiconductor!!! I took your wonderful Thingy:52 everything was great until I wanted to build a project based on your Thingy: 52-SDK. I have nrf52840 pdk in order to flash Thingy. Inside the sdk folder I found the project ble_app_thingy_s132_pca20020. I tried to compile it, I got a lot of errors) I did not give up and read README. I installed Python 3.6.2 and the GNU ARM embedded toolchain gcc-arm-none-eabi-5_4. added paths to environment variables (made by default, like added). Do I need to do this if I start the project in Keil 5? Then I ran setup_sdk.py the following appeared:

> INFO:setup:Found SDK zip in _build/
> INFO:setup:Extracting SDK
> INFO:setup:Patching SDK Traceback
> (most recent call last):   File
> "setup_sdk.py", line 76, in <module>
>     subprocess.call(cmd, cwd="external/sdk")   File
> "C:\Users\kordi\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py",
> line 267, in call
>     with Popen(*popenargs, **kwargs) as p:   File
> "C:\Users\kordi\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py",
> line 707, in __init__
>     restore_signals, start_new_session)   File
> "C:\Users\kordi\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py",
> line 992, in _execute_child
>     startupinfo) FileNotFoundError: [WinError 2] 

Then I again tried to compile in Keil 5, errors became less, only one

> .\_debug\app_thingy_s132.axf: error:
> L6002U: Could not open file
> ..\..\..\libs\libmpllib_Keil_M4FP\libmpllib.lib:
> No such file or directory 
> 
> 
> ".\_debug\app_thingy_s132.axf" - 1
> Error(s), 1109 Warning(s).

And I want to ask if it is not difficult for you to correctly compile the project by step and maybe something I did not do right? Thank you

  • And I think I understand about what You say )) I'm just a little worked in Linux environment Thank you I will try)

  • The instructions given do not work at all for me.

    After fighting with various versions of compilers/linbraries I gave up on trying to compile with hardfp support. Switched to softfp mode and ripped out all the motion stuff from the source code to get it to compile and it still doesn't work.

    Furthest I got is this (GCC): Linking target: nrf52832_xxaa_s132.out /usr/libexec/gcc/arm-none-eabi/ld: section .rel.dyn LMA [0000000000035bc4,000000000003672b] overlaps section .data LMA [0000000000035bc4,0000000000036613] /usr/libexec/gcc/arm-none-eabi/ld: section .dynamic LMA [0000000000036614,00000000000366cb] overlaps section .rel.dyn LMA [0000000000035bc4,000000000003672b] /usr/libexec/gcc/arm-none-eabi/ld: warning: creating a DT_TEXTREL in a shared object. collect2: error: ld returned 1 exit status

    Nordic, massively disapointed here.

    What are the steps to get a project to compile?

    PS: Bonus gripes: Your path setup with all the relative/absolute and "../../../" path is horrible. Also, make with more than one thread completely bombs because your dependencies are not set up. That's really sloppy :(

  • Hey Andre, have you tried flashing the original FW (2.1.0) onto the Thingy yet? Might be easiest to start here first with the zip for Android (download here) hex file for iOS you can download from here if you haven't tried this already. You can either do this via the the nrf51/52 dk & a SWD cable or via the Thingy app for iOS or Android. If you do it via the Thingy app, you just go to the Device Firmware Update (DFU) tab, click on the Custom FW tab & then you can press the "How to" button. There, it will show you the different options for loading the hex or zip file to your phone. Then, you can do a DFU using the Thingy app. I will research whether the project compiling can be done with segger embedded studio. Have had a few people asking about this. Will get back to you soon!

    Update: It is not possible to compile the Thingy FW via Segger Embedded Studio. You will need to use Keil or Arm GCC for this.

Related