Questions and discussions about the SDK tools used to program the TD RF modules.
gertorro
 
Posts: 11
Joined: Mon Jul 04, 2016 11:34 am

Troubles compiling

by gertorro Fri Aug 05, 2016 11:58 am

Hello everybody,
I'm having problems compiling any project.
The console says:
Code: Select all
13:47:00 **** Incremental Build of configuration TD1204 Release for project blink ****
Info: Internal Builder is used for build
arm-none-eabi-gcc -DNDEBUG -DEFM32G210F128 -DMODULE_REVISION=REVISION_TD1204 "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdrf\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtddrivers\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdcore\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\emlib\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\Device\\EnergyMicro\\EFM32G\\Include" -Os -ffunction-sections -fdata-sections -Wall -c -fmessage-length=0 -mcpu=cortex-m3 -mthumb -o "src\\blink.o" "..\\src\\blink.c"
Cannot run program "arm-none-eabi-gcc": Invalid directory name.


It's odd because I've set the PATH variable in the enviroment:
Image

Any clues on this error?
Thanks in advance

Germán
User avatar
mstempin
 
Posts: 168
Joined: Thu May 07, 2015 9:24 am

Re: Troubles compiling

by mstempin Tue Aug 09, 2016 8:30 am

You may try to use the "Replace native environment with specified one" option to make sure you are not picking up another compiler from your Windows environment PATH variable.

Make sure you have the "arm-none-eabi-gcc.exe" in the "C:\TD\TD_RF_Module_SDK-v6.0.0\gnu\bin" directory.
gertorro
 
Posts: 11
Joined: Mon Jul 04, 2016 11:34 am

Re: Troubles compiling

by gertorro Tue Aug 09, 2016 2:39 pm

Hi,
thanks for your answer. I've changed the variable to replace the system's but it still causes the same error:
Code: Select all
16:32:51 **** Incremental Build of configuration TD1204 Debug for project blink ****
Info: Internal Builder is used for build
arm-none-eabi-gcc -DDEBUG -DDEBUG_EFM -DEFM32G210F128 -DMODULE_REVISION=REVISION_TD1204 "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdgeoloc\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdsensor\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdrf\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtddrivers\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdcore\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\emlib\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\Device\\EnergyMicro\\EFM32G\\Include" -O0 -ffunction-sections -fdata-sections -Wall -c -fmessage-length=0 -mcpu=cortex-m3 -mthumb -g3 -gdwarf-2 -o "src\\blink.o" "..\\src\\blink.c"
Cannot run program "arm-none-eabi-gcc": El nombre del directorio no es válido.



16:32:51 Build Finished (took 246ms)


However, if I manually invoke the compiler through Windows console it is able to compile using this command sequence:
Code: Select all
arm-none-eabi-gcc -DDEBUG -DDEBUG_EFM -DEFM32G210F128 -DMODULE_REVISION=REVISION_TD1204 "-IC:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\CMSIS\Include" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdgeoloc\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdsensor\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdrf\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtddrivers\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdcore\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\emlib\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\Device\\EnergyMicro\\EFM32G\\Include" -O0 -ffunction-sections -fdata-sections -Wall -c -fmessage-length=0 -mcpu=cortex-m3 -mthumb -g3 -gdwarf-2 -o "C:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\examples\\core\\blink\\src\\blink.o" "C:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\examples\\core\\blink\\src\\blink.c"

(You may notice I've added the path to "-IC:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\CMSIS\Include" because without it the compiler wouldn't find "core_cm3.h" file)

Still, I am unable to work with the SDK in any useful way, is there any procedure to fix this?
I have recreated this error with both Windows 7 and Windows 10, both x64 architecture versions.

Thank you again :? ,

Germán
User avatar
mstempin
 
Posts: 168
Joined: Thu May 07, 2015 9:24 am

Re: Troubles compiling

by mstempin Tue Aug 09, 2016 2:49 pm

Did you install the SDK directly under "C:\"?

Can you check that you have the "arm-none-eabi-gcc.exe" in the "C:\TD\TD_RF_Module_SDK-v6.0.0\gnu\bin" directory?
gertorro
 
Posts: 11
Joined: Mon Jul 04, 2016 11:34 am

Re: Troubles compiling

by gertorro Tue Aug 09, 2016 2:56 pm

mstempin wrote:Did you install the SDK directly under "C:\"?

Can you check that you have the "arm-none-eabi-gcc.exe" in the "C:\TD\TD_RF_Module_SDK-v6.0.0\gnu\bin" directory?


Yes, both the SDK and the arm-none-eabi-gcc.exe files are under C:\TD\TD_RF_Module_SDK-v6.0.0\.
User avatar
mstempin
 
Posts: 168
Joined: Thu May 07, 2015 9:24 am

Re: Troubles compiling

by mstempin Tue Aug 09, 2016 3:24 pm

Can you send the output of command "arm-none-eabi-gcc -v" from the command line?

I get this:
Code: Select all
Using built-in specs.
COLLECT_GCC=c:\TD\TD_RF_Module_SDK-v6.0.0\gnu\bin\arm-none-eabi-gcc.exe
COLLECT_LTO_WRAPPER=c:/td/td_rf_module_sdk-v6.0.0/gnu/bin/../libexec/gcc/arm-non
e-eabi/4.7.2/lto-wrapper.exe
Target: arm-none-eabi
Configured with: /scratch/jbrown/arm-eabi/src/gcc-4.7-2012.09/configure --build=
i686-pc-linux-gnu --host=i686-mingw32 --target=arm-none-eabi --enable-threads --
disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-extra-sgxxl
ite-multilibs --with-gnu-as --with-gnu-ld --with-specs='%{save-temps: -fverbose-
asm} -D__CS_SOURCERYGXX_MAJ__=2012 -D__CS_SOURCERYGXX_MIN__=9 -D__CS_SOURCERYGXX
_REV__=63 %{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0
|O1|O2|Os:;:%{!fno-remove-local-statics: -fremove-local-statics}}}' --enable-lan
guages=c,c++ --disable-shared --enable-lto --with-newlib --with-pkgversion='Sour
cery CodeBench Lite 2012.09-63' --with-bugurl=https://support.codesourcery.com/G
NUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-headers=yes --with-
sysroot=/opt/codesourcery/arm-none-eabi --with-build-sysroot=/scratch/jbrown/arm
-eabi/install/host-i686-mingw32/arm-none-eabi --with-libiconv-prefix=/scratch/jb
rown/arm-eabi/obj/pkg-2012.09-63-arm-none-eabi/arm-2012.09-63-arm-none-eabi.extr
as/host-libs-i686-mingw32/usr --with-gmp=/scratch/jbrown/arm-eabi/obj/pkg-2012.0
9-63-arm-none-eabi/arm-2012.09-63-arm-none-eabi.extras/host-libs-i686-mingw32/us
r --with-mpfr=/scratch/jbrown/arm-eabi/obj/pkg-2012.09-63-arm-none-eabi/arm-2012
.09-63-arm-none-eabi.extras/host-libs-i686-mingw32/usr --with-mpc=/scratch/jbrow
n/arm-eabi/obj/pkg-2012.09-63-arm-none-eabi/arm-2012.09-63-arm-none-eabi.extras/
host-libs-i686-mingw32/usr --with-ppl=/scratch/jbrown/arm-eabi/obj/pkg-2012.09-6
3-arm-none-eabi/arm-2012.09-63-arm-none-eabi.extras/host-libs-i686-mingw32/usr -
-with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with
-cloog=/scratch/jbrown/arm-eabi/obj/pkg-2012.09-63-arm-none-eabi/arm-2012.09-63-
arm-none-eabi.extras/host-libs-i686-mingw32/usr --with-libelf=/scratch/jbrown/ar
m-eabi/obj/pkg-2012.09-63-arm-none-eabi/arm-2012.09-63-arm-none-eabi.extras/host
-libs-i686-mingw32/usr --disable-libgomp --disable-libitm --enable-poison-system
-directories --with-build-time-tools=/scratch/jbrown/arm-eabi/obj/tools-i686-pc-
linux-gnu-2012.09-63-arm-none-eabi-i686-mingw32/arm-none-eabi/bin --with-build-t
ime-tools=/scratch/jbrown/arm-eabi/obj/tools-i686-pc-linux-gnu-2012.09-63-arm-no
ne-eabi-i686-mingw32/arm-none-eabi/bin
Thread model: single
gcc version 4.7.2 (Sourcery CodeBench Lite 2012.09-63)
gertorro
 
Posts: 11
Joined: Mon Jul 04, 2016 11:34 am

Re: Troubles compiling

by gertorro Wed Aug 10, 2016 8:29 am

mstempin wrote:Can you send the output of command "arm-none-eabi-gcc -v" from the command line?

Sure:
Code: Select all
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=c:/td/td_rf_module_sdk-v6.0.0/gnu/bin/../libexec/gcc/arm-none-eabi/4.7.2/lto-wrapper.exe
Target: arm-none-eabi
Configured with: /scratch/jbrown/arm-eabi/src/gcc-4.7-2012.09/configure --build=i686-pc-linux-gnu --host=i686-mingw32 --target=arm-none-eabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-extra-sgxxlite-multilibs --with-gnu-as --with-gnu-ld --with-specs='%{save-temps: -fverbose-asm} -D__CS_SOURCERYGXX_MAJ__=2012 -D__CS_SOURCERYGXX_MIN__=9 -D__CS_SOURCERYGXX_REV__=63 %{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics: -fremove-local-statics}}}' --enable-languages=c,c++ --disable-shared --enable-lto --with-newlib --with-pkgversion='Sourcery CodeBench Lite 2012.09-63' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-headers=yes --with-sysroot=/opt/codesourcery/arm-none-eabi --with-build-sysroot=/scratch/jbrown/arm-eabi/install/host-i686-mingw32/arm-none-eabi --with-libiconv-prefix=/scratch/jbrown/arm-eabi/obj/pkg-2012.09-63-arm-none-eabi/arm-2012.09-63-arm-none-eabi.extras/host-libs-i686-mingw32/usr --with-gmp=/scratch/jbrown/arm-eabi/obj/pkg-2012.09-63-arm-none-eabi/arm-2012.09-63-arm-none-eabi.extras/host-libs-i686-mingw32/usr --with-mpfr=/scratch/jbrown/arm-eabi/obj/pkg-2012.09-63-arm-none-eabi/arm-2012.09-63-arm-none-eabi.extras/host-libs-i686-mingw32/usr --with-mpc=/scratch/jbrown/arm-eabi/obj/pkg-2012.09-63-arm-none-eabi/arm-2012.09-63-arm-none-eabi.extras/host-libs-i686-mingw32/usr --with-ppl=/scratch/jbrown/arm-eabi/obj/pkg-2012.09-63-arm-none-eabi/arm-2012.09-63-arm-none-eabi.extras/host-libs-i686-mingw32/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-cloog=/scratch/jbrown/arm-eabi/obj/pkg-2012.09-63-arm-none-eabi/arm-2012.09-63-arm-none-eabi.extras/host-libs-i686-mingw32/usr --with-libelf=/scratch/jbrown/arm-eabi/obj/pkg-2012.09-63-arm-none-eabi/arm-2012.09-63-arm-none-eabi.extras/host-libs-i686-mingw32/usr --disable-libgomp --disable-libitm --enable-poison-system-directories --with-build-time-tools=/scratch/jbrown/arm-eabi/obj/tools-i686-pc-linux-gnu-2012.09-63-arm-none-eabi-i686-mingw32/arm-none-eabi/bin --with-build-time-tools=/scratch/jbrown/arm-eabi/obj/tools-i686-pc-linux-gnu-2012.09-63-arm-none-eabi-i686-mingw32/arm-none-eabi/bin
Thread model: single
gcc version 4.7.2 (Sourcery CodeBench Lite 2012.09-63)
User avatar
mstempin
 
Posts: 168
Joined: Thu May 07, 2015 9:24 am

Re: Troubles compiling

by mstempin Wed Aug 10, 2016 9:39 am

OK, they look exactly the same except for the "COLLECT_GCC" line, I get the same as yours, so this is not the problem, we got the same compiler!

I was able to reproduce your problem from Eclipse by reinstalling everything from scratch. It looks like there are some data cached in Eclipse somewhere, as when I right-click on the "blink" project and select "Clean project" in the context menu, it solves the problem, no more "Invalid directory name", the project just compiles fine afterwards.

Can you try to clean the project, please?
gertorro
 
Posts: 11
Joined: Mon Jul 04, 2016 11:34 am

Re: Troubles compiling

by gertorro Wed Aug 10, 2016 10:01 am

mstempin wrote:OK, they look exactly the same except for the "COLLECT_GCC" line, I get the same as yours, so this is not the problem, we got the same compiler!

I was able to reproduce your problem from Eclipse by reinstalling everything from scratch. It looks like there are some data cached in Eclipse somewhere, as when I right-click on the "blink" project and select "Clean project" in the context menu, it solves the problem, no more "Invalid directory name", the project just compiles fine afterwards.

Can you try to clean the project, please?


I've already tried, after that I got the same message as my previous attempts via the command window. What I've done to solve that is to open the "CMSIS" project as well while compiling the blink, now it works like a charm! :D

Thanks for the advice!

PS: I've sent to the official TDdeveloper user a request on the libraries documentation, is there any repo containing it or it's just the doxyfile version?
User avatar
mstempin
 
Posts: 168
Joined: Thu May 07, 2015 9:24 am

Re: Troubles compiling

by mstempin Wed Aug 10, 2016 12:14 pm

Glad you finally got it working! Yes of course, you need to open all related projects to compile a firmware. Having the CMSIS project closed explains why the corresponding include dir was missing from the command line too.

The library documentation is contained in each .CHM help file at the root of each library. It contains the extensive API description extracted from the sources and is this way kept up to date. All constants, variables, enumerations, types, functions and parameters are detailed in them.

There are also the examples that demonstrate how to use the different features in a progressive manner.
Return to Tools

Who is online

Users browsing this forum: No registered users and 1 guest