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

Enable auto discovery of symbols, include paths..etc

I've been trying to get SDK 10 and its new file structure up and running Eclipse. But its been an unfortunately slow and tedious process.

Following the Nordic Eclipse tutorial, I simply cannot get the Auto Discovery to work.

  1. I made sure to update the path in Makefile.windows to my new version of GNU Tools ARM Embedded/4.9 2015q3

  2. This path was also added to the Path variable as well

  3. I did note if I run the command line to version my GNU versions C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q3>arm-none-eabi-gcc --version

I get an old version return 4.8.4?

  1. Following the tutorial I updated the CDT GCC Build Output Parser to (.gcc)|(.[gc]++). This did nothing

  2. Following the tutorial I updated the CDT GCC Built-in Compiler Settings Cross ARM to arm-none-eabi-gcc ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}" This did nothing.

Short of manually adding all include files and symbols, I'm at a bit of a loss how to get this work. Hopefully someone has dealt with this issue before. I found two other posts on this, but their solutions did not work for me.

Thanks guys

  • Unfortunately, it is a bit tedious to create new projects. However, did you try to import one of the existing ones, it should be less work if you can modify one of them instead of creating a new one from scratch.

    Assume you wrote (*.gcc)|(*.[gc]++) and not (.gcc)|(.[gc]++) in the output parser configuration? Note that you need to use the escape character to display the '*' in the text editor.

    Other than that it looks like you have done everything correctly. Did you also build with verbosity enabled (make VERBOSE=1)? This is required to discover the symbols and paths as CDT parses the printed output.

    E.g., output when building main.c without verbosity enabled:

    Compiling file : main.c

    and compiling the same file with verbosity enabled:

    'C:/Program Files (x86)/GNU Tools ARM Embedded/4.9 2015q3/bin/arm-none-eabi-gcc' 
    -DCONFIG_GPIO_AS_PINRESET 
    -DBOARD_PCA10036 -DNRF52 
    -DBSP_DEFINES_ONLY 
    -mcpu=cortex-m4 
    -mthumb 
    -mabi=aapcs 
    --std=gnu99 
    -Wall -Werror 
    -O0  
    -g3 
    -mfloat-abi=hard 
    -mfpu=fpv4-sp-d16 
    -ffunction-sections 
    -fdata-sections 
    -fno-strict-aliasing 
    -fno-builtin 
    --short-enums 
    -I../../../../../../components/toolchain/gcc 
    -I../../../../../../components/toolchain   
    -I../../..
    -I../../../../../bsp 
    -I../../../../../../components/device     
    -I../../../../../../components/drivers_nrf/delay   
    -I../../../../../../components/drivers_nrf/hal -c -o _build/main.o ../../../main.c
    
    1. I did note if I run the command line to version my GNU versions C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q3>arm-none-eabi-gcc --version

    I get an old version return 4.8.4?

    The toolchain version shouldn't have any effect on the CDT parser, but strange that it's showing the old versions. Do you have any older versions installed that's also in PATH?

    1. Following the tutorial I updated the CDT GCC Built-in Compiler Settings Cross ARM to arm-none-eabi-gcc ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}" This did nothing.

    One thing I have noted is that in Eclipse I do not have the option for CDT Built-in Compiler Settings Cross ARM in Providers. Only have CDT GCC Built-in Compiler Settings Cross ARM. Are they equivalent?

  • I was not able to resolve this issue, so I had to manually add the Paths and Symbols. In future I will just export these settings and Import them to any future projects.

    However even with manually including the files, the project won't compile the app_button.c file.

    C:\Nordic_Semi_SDK_10\SDK_v10_Package\examples\ble_peripheral\ble_app_hrs\pca100 31\s110\armgcc>make rm -rf _build echo makefile makefile mkdir _build #@echo Compiling file: app_button.c process_begin: CreateProcess(NULL, #@echo Compiling file: app_button.c, ...) fai led. make (e=2): The system cannot find the file specified. make: *** [_build/app_button.o] Error 2

    C:\Nordic_Semi_SDK_10\SDK_v10_Package\examples\ble_peripheral\ble_app_hrs\pca100 31\s110\armgcc>

  • Oddly enough if I simply try and compile the PCA10028 I have no problems. But if I change the build path to armgcc in PCA10031 I get the above errors.

  • any answer so far. Im getting the same problem

Related