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

CDT Build Output Parser Eclipse + SDK 14.1.0 (ble_app_tt_mtu_throughput)

Hello,

I am currently experimenting with some throughput tests on nRF52832/nRF52840 DKs. Some time ago I worked with some BLE UART examples from SDK 13.0 with the help of Eclipse. Everything worked fine after going through this tutorial. Now I wanted to extend the btt_app_att_mtu_throughput example from SDK 14.1.0 and started by "converting" it to an Eclipse project like before.

  • changed Compiler command pattern under Project Properties -> C/C++ General -> Preprocessor Include Paths -> Providers -> CDT Build Output Parser to (.gcc)|(.[gc]++) and removed tick on Use heuristics to resolve paths
  • replaced ${COMMAND} under CDT ARM Cross GCC Bult-in Compiler Settings with arm-none-eabi-gcc
  • replaced Makefile.common under …/SDK14.1.0/components/toolchain/gcc with the patched one from the tutorial, but removed "/bin/" from toolchain commands ("CC:= '$(GNU_INSTALL_ROOT)$(GNU_PREFIX)-gcc'"), as an error was thrown and changed the calling of "[…]file_list.mk" to "[…]dump.mk"
  • initiated make clean, make all and rebuilt the index

My build output looks something like this (shortened!):

'/opt/gcc-arm-none-eabi-6-2017-q1-update/bin/arm-none-eabi-gcc' -MP -MD -std=c99 -O3 -g3 -D[…] -mcpu=cortex-m4 -mthumb -mabi=aapcs -Wall -Werror -mfloat-abi=hard -mfpu=fpv4-sp-d16 -ffunction-sections -fdata-sections -fno-strict-aliasing -fno-builtin -fshort-enums  -I"<SDK_ROOT/x>"   -I"<SDK_ROOT/y>"-I"<SDK_ROOT/z>"[…]

So, I guess it looks fine. Seems to be the same, like in my other projects, but there are no entries for the include files listed under Project Properties -> C/C++ General -> Preprocessor Include Paths -> Entries -> GNU C, except for the Compiler Settings under the same tab. The output parser is working fine in my other older projects.

Additionally, with the modified makefile.common I am running into a warning at the end of the build process:

/opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/bin/ld: warning: cannot find entry symbol Reset_Handler; defaulting to 0000000000023000

I am not very "skilled" in writing Makefiles, so maybe there are some issues with the new file I am missing. So, is there anything I haven't thought of?

Thank you very much!

Regards, Björn

Parents
  • I did not see any patched makefile.common for SDK 14 in the tutorial. Did you use the one for SDK 13, and just removed the "/bin/" ?

    In previous SDK versions the patched makefile.common just removed quotations() , so that the CDT parser was able to parse the include paths, symbols, etc. Did you try to use the makefile.common that comes with SDK 14? I think most of these quotations was removed in SDK 14.

    Using an IDE that is natively supported by the SDK is recommended, and could save you a lot of time. We have several video tutorials that will show you how to get started with SEGGER Embedded Studio on our Youtube channel.

Reply
  • I did not see any patched makefile.common for SDK 14 in the tutorial. Did you use the one for SDK 13, and just removed the "/bin/" ?

    In previous SDK versions the patched makefile.common just removed quotations() , so that the CDT parser was able to parse the include paths, symbols, etc. Did you try to use the makefile.common that comes with SDK 14? I think most of these quotations was removed in SDK 14.

    Using an IDE that is natively supported by the SDK is recommended, and could save you a lot of time. We have several video tutorials that will show you how to get started with SEGGER Embedded Studio on our Youtube channel.

Children
No Data
Related