First local build - problem with Netbean build

I can make the files from a DOS terminal in Windows 7 but I keep getting the following error when making the initial file in NetBeans. It appears to be fine for the first two libraries:-

Building core-common-lib
make[1]: Nothing to be done for `all’.

Building core-communication-lib
make[1]: Nothing to be done for `all’.

But then errors when building the firmware:-

make: *** [core-firmware.elf] Error 2

Check if arm-none-eabi-gcc is in your PATH (i.e. try to run it in command line). If it’s not, try following this: How to set the path in Windows 7

Error 2 is file not found. :smiley: If you can post the errors you get, we might be able to see which file is not found.

Thanks. I have made sure the PATH variables have been set for the development tolls as per instructions but I will add that path and see what happens

Thanks, as you are aware I have been content using the cloud compiler but had problems with the Flashee library. I’ll persevere and try the additional PATH variable suggested by Suda. If necessary I’ll post more of the error message.

Didn’t work :-

Building core-common-lib
Building file: …/CC3000_Host_Driver/cc3000_common.c
Invoking: ARM GCC C Compiler
mkdir -p obj/CC3000_Host_Driver/
arm-none-eabi-gcc -g3 -gdwarf-2 -Os -mcpu=cortex-m3 -mthumb -I…/CC3000_Host_Driver -I…/SPARK_Firmware_Driver/inc -I…/STM32_USB-FS-Device_Driver/inc -I…/STM32F10x_StdPeriph_Driver/inc -I…/CMSIS/Include -I…/CMSIS/Device/ST/STM32F10x/Include -I. -ffunction-sections -Wall -Wno-switch -fmessage-length=0 -MD -MP -MF obj/CC3000_Host_Driver/cc3000_common.o.d -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -DRELEASE_BUILD -c -o obj/CC3000_Host_Driver/cc3000_common.o …/CC3000_Host_Driver/cc3000_common.c
process_begin: CreateProcess(NULL, arm-none-eabi-gcc -g3 -gdwarf-2 -Os -mcpu=cortex-m3 -mthumb -I…/CC3000_Host_Driver -I…/SPARK_Firmware_Driver/inc -I…/STM32_USB-FS-Device_Driver/inc -I…/STM32F10x_StdPeriph_Driver/inc -I…/CMSIS/Include -I…/CMSIS/Device/ST/STM32F10x/Include -I. -ffunction-sections -Wall -Wno-switch -fmessage-length=0 -MD -MP -MF obj/CC3000_Host_Driver/cc3000_common.o.d -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -DRELEASE_BUILD -c -o obj/CC3000_Host_Driver/cc3000_common.o …/CC3000_Host_Driver/cc3000_common.c, …) failed.
make (e=2): The system cannot find the file specified.

make[1]: *** [obj/CC3000_Host_Driver/cc3000_common.o] Error 2
make: *** [check_external_deps] Error 2

Hi @stevespark,

Did you install as per this video?
Spark Core Compiling Locally in Windows

Please look at the comments:
There were issues with the suggested path names (dashes included) and also check the Version you actually down loaded match your path.

Hope this helps.
I just remember that something like this caught me out too. :smile:

Best wishes.

James.

Where are you saving the files? is it in program files or did you do the directories in the setup video?

did you use git to download the repo’s or did you create the folders? Check the typing of folder names for core-fimware… core-common-lib… core-communication-lib etc

@stevespark try typing those commands in the same folder you run make:

  • arm-none-eabi-gcc
  • chdir
  • dir ..\..\core-common-lib

and post results here.

In the terminal window this is what I get:

C:\Spark\core-common-lib>arm-none-eabi-gcc
arm-none-eabi-gcc: fatal error: no input files
compilation terminated.

C:\Spark\core-common-lib>

You should be running make from core-firmware\build folder. Could you cd into this directory and try to run make and other commands from previous post?

Thanks everyone for your advice. This has spurred me on and I now have a working system for local compilation. I am not using NetBeans at the moment but will sort it out later.
Regarding the Flashee library, I have found that the .cpp files need editing to allow them to point to Flashee headers in the src\inc\flashee-eeprom\ folder rather than the standard src.inc\ for headers. Once these library files are edited all works fine.

The data logging is now working using the external eeprom storage - congratulation to mdma on this very useful functionality.

I’ve setup Netbeans to build the source and programme it using DFU but each time I do this, the core is not connected to the WiFi anymore.

Is it possible to programme it without losing the WiFi credentials?

Also, does anyone have instructions on how to do debugging with JTAG using Netbeans? I have a SEGGER J-LINK and was wondering if this can be used?

Glad you got it working. If you copy the flashee headers to a new inc\flashee-eeprom directory then it will work unmodified. This is described in the README.md. This is in general how you can make libraries work locally - create a new directory for the library headers under inc.

I followed the readme file as instructed but still had a problem when make could not build due to the path in the library .cpp files. I had to manually change each of the the library headers from “#include .h" to "#include flashee-eeprom/.h”. I used Github to download the files so perhaps that is where the directory path was lost?

I am not able to help with your JTAG issue but can tell you that when I make from a terminal window and dfu the Wifi credentials are retained.

Can you post the command line you are using for dfu? DFU programming shouldn’t be knocking out your wifi credentials. Although be sure you only hold the mode button long enough to get to the flashing yellow (dfu-mode) - not flashing white (factory reset), since then you’ll lose the wifi credentials.

I used the command line for dfu as per the githbub readme

dfu-util -d 1d50:607f -a 0 -s 0x08005000:leave -D core-firmware.bin

I am still working on the JTAG but so far the GDB server with the J-LINK has detected the Spark core so all I need now is to configure Netbeans to do the debugging and I am in business.