0

Eclipse build failed for Blinky w/ SDK 14 - Make Error 2

mikewdev gravatar image

asked 2017-12-07 04:28:12 +0100

updated 2017-12-07 23:28:57 +0100

Hello!

I experienced the same errors as here and here when following the Eclipse gcc tutorial (7), but the solutions did not solve my problem.

I suspect this is related to my using SDK 14 instead of 13, as the project Makefile was tested with, but I did copy the attached Makefile.common to the directory, and it had no effect one way or the other. As for the general Makefile for the project, the following suggestions from other answers were individually then jointly applied without success after the build initially failed:

  1. CFLAGS += -O0 -g3 # was already in the Makefile
  2. changed components/toolchain/gcc/*.S to *.s (lower case) and changed "/Include" in Makefile line 54 to "/include"
  3. rebuilt c++ index
  4. commented Line 42 of Makefile (which referenced the non-existent nrf_delay.c)

Other important information:

  1. Here attached is my Makefile.
  2. I'm using Windows 10 pro.
  3. The Console error indicates a missing file - the I manually checked all of the includes and there is one that does not exist - there is no bsp folder in examples. I don't know if this is related, but it's all I could find
  4. Here attached is the verbose error from the Console.
  5. Everything in the tutorials works fine with nrfjprog.
  6. Make the folder utils are added to path and work readily in CMD - i.e. "where make" and "where mkdir" both point to the properly referenced GNU ARM Eclipse build tools folder.
  7. I did see something about spaces in the tools path, but there are no paths with spaces referenced in the Makefile. Should I move the build tools and toolchain to a path without spaces and tell Eclipse to look for such?
  8. The following lines show up with errors in Eclipse:

Makefile

  • Line 127 under all: clean: $(NO_ECHO)$(MAKE) -f $(MAKEFILE_NAME) -C $(MAKEFILE_DIR) -e cleanobj

  • Line 163 under $(OBJECT_DIRECTORY)/%.o: %.c: @echo Compiling file: $(notdir $<)

main.c

  • Lines 51, 52, 54: Unresolved inclusions for <stdbool.h>, <stdint.h> and "boards.h"

  • Line 65, while (true): symbol "true" could not be resolved

  • Line 67, for (int i = 0; i < LEDS_NUMBER; i++): symbol LEDS_NUMBER could not be resolved

Thanks for your help!

edit retag flag offensive close delete report spam

Comments

Any help to be had on this?

Mike W ( 2017-12-07 23:29:59 +0100 )editconvert to answer

2 answers

Sort by ยป oldest newest most voted
0
vibe gravatar image

answered 2017-12-08 12:04:12 +0100

Hello,

Makefiles in SDK 14 don't require any changes to work with the CDT output parser (parser collects symbols and include paths from console during builds), and recommend to use these instead of porting the old makefiles to SDK 14.

I've made a new Eclipse project for the blinky makefile example in SDK 14.2.0 that you can try:

  • Make sure you have a clean copy of SDK 14.2.0
  • Extract armgcc.zip and copy the files into \examples\peripheral\blinky\pca10040\blank\armgcc
  • Open "\components\toolchain\gcc\Makefile.windows" in a text editor and verify toolchain path. Looks like it should be C:/Program Files (x86)/GNU Tools ARM Embedded/6 2017-q2-update/bin/ in your case.
  • Open Eclipse and select File -> import from the menu-bar. Then select "existing projects into workspace" and import the project from \examples\peripheral\blinky\pca10040\blank\armgcc
  • Install device family pack and select nRF52 device in settings
  • Update parser settings as shown in screenshots below (open images in new tab in case text is not visible)

image description

image description

image description

image description

edit flag offensive delete publish link more

Comments

Thanks Vidar! I'll report back once I've tried it.

Mike W ( 2017-12-12 17:38:43 +0100 )editconvert to answer

The compiler still does not recognize the board-specific definitions, however it looks as though it might be an Eclipse error. Here is the output.

The eclipse abnormality is that there are two tabs each for Devices and for Toolchains under C/C++ Build > Settings. The Nordic packs only show up in one of the Devices tabs, and the Build tools path option only shows up in one of the Toolchains tabs. Here are screenshots of that: Toolchains 1Toolchains 2Devices 1 (incorrect) Devices 2 (correct)

I'll reinstall Eclipse and see if it helps.

Mike W ( 2017-12-12 20:08:19 +0100 )editconvert to answer

I should also mention that there are two options under perspectives for packs. One allows installation and the other just lists. Either this is an error (likely related to this!) or something that should be mentioned on here.

Mike W ( 2017-12-12 20:09:46 +0100 )editconvert to answer

Even with completely fresh Eclipse install, completely clean SDK (except for modifying the file you provide), still have the same errors:

In main.c: 1. Line 53, #include "nrf_delay.h", Unresolved inclusion (technically a warning but obviously problematic) 2. Line 54, #include "boards.h", Unresolved inclusion (warning) 3. Line 67, LEDS_NUMBER, Symbol 'LEDS_NUMBER' could not be resolved.

Not sure if it's useful, but there are also warnings for the following:

Mike W ( 2017-12-13 02:00:09 +0100 )editconvert to answer

`Invalid project path: Include path not found (blinky_pca10040#undef __ARM_FEATURE_FMA). blinky_pca10040 pathentry Path Entry Problem

Invalid project path: Include path not found (blinky_pca10040#undef __ARM_FP). blinky_pca10040 pathentry Path Entry Problem

Invalid project path: Include path not found (blinky_pca10040#undef __ARM_NEON__). blinky_pca10040 pathentry Path Entry Problem

Invalid project path: Include path not found (blinky_pca10040#undef __ARM_NEON_FP). blinky_pca10040 pathentry Path Entry Problem

Invalid project path: Include path not found (blinky_pca10040#undef __ARM_NEON). blinky_pca10040 pathentry Path Entry Problem

Missing "C:\Users\Michael\Documents\Dev\Eclipse\Packages.cache\wolfSSL.wolfSSL.3.9.0.pdsc", ignored by user request.`

Mike W ( 2017-12-13 02:00:52 +0100 )editconvert to answer
0
mikewdev gravatar image

answered 2017-12-13 02:04:12 +0100

Still doesn't work with the following procedure. See comments above.

1. Reinstall Eclipse Neon from scratch.
2. Installed CDT - doesn't work with Eclipse marketplace, need to use "Install New Software"

    1. url: http://gnu-mcu-eclipse.netlify.com/v4-neon-updates/  
3. Opened packs perspective and refreshed repositories. Kept getting errors trying to download .pdsc files. Resolved on retry but still.

    1. "Read error \n http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_Libraries/NordicSemiconductor.nRF_Libraries.pdsc \n developer.nordicsemi.com"
    2. Last time had to manually download wolf ssh .pdsc file and move to the file location. Same error occurred: http://www.wolfSSL.com/files/ide/wolfSSL.wolfSSL.pdsc Failed to open connection, response code 403. Won't fix on retry. Hit ignore and download manually. Then copy, rename to wolfSSL.wolfSSL.3.9.0.pdsc (because I know from experiencing this error before that for whatever reason this is what Eclipse looks for) and add both to package directory: [Eclipse-parent-dir]\Packages\.cache
4. Install NordicSemiconductor>nRF_DeviceFamilyPack under the Packs perspective.
5. Switch back to the C/C++ (default) perspective
6. Replaced /blinky/pca10040/blank/armgcc files with the ones provided
7. Import project files from said SDK

    1. Import > General > Existing projects into workspace
8. Changed project settings:

    1. Set CDT GCC Build Output Parser and changed compiler command from (gcc)|([gc]\+\+)|(clang) to (.*g?cc)|(.*[gc]\+\+)

        1. Noted that the question mark wasn't in the online guide.
        2. from (g?cc)|([gc]\+\+)|(clang)
        3. to (.*g?cc)|(.*[gc]\+\+)|(clang)
    2. In CDT Built-in Compiler Settings Cross ARM, replaced ${COMMAND} with arm-none-eabi-gcc
9. Built
edit flag offensive delete publish link more

Comments

try this blog

Nguyen Hoan Hoang ( 2017-12-13 03:59:46 +0100 )editconvert to answer

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer. Do not ask a new question or reply to an answer here.

[hide preview]

Question Tools

1 follower

Stats

Asked: 2017-12-07 04:28:12 +0100

Seen: 79 times

Last updated: 8 hours ago