But as soon as I try to compile modules, I guet this error:
$ mingw32-make clean all PLATFORM=photon -s program-dfu
/usr/bin/sh: arm-none-eabi-gcc: command not found
../build/arm-tools.mk:43: *** "ARM gcc version 4.8.4 or later required, but found ". Stop.
I tried to include arm-none-eabi-gcc in my enviromental variables and also the bin folder ( There is 2 bin folder, one in C:\Program Files (x86)\gnu_arm_tool\5.4 2016q2 and another one inside the version folder. I tried with both. But I always get that message.
Is there anything I need to do to include it? I tried to execute --version command in cmd.exe and git-bash and in both I get the same response.
Is this proccess easier on linux? I could try to install a virtual machine or a real one in my laptop.
If this is only to update the system firmware, and not to compile locally, there are easier ways to do so. Just select a higher version in the web IDE and flash that OTA.
Alternatively install the CLI and issue particle update while in DFU mode.
This process is easier in Linux, but I also had to solve the problem that you are having. The /usr/bin/sh: arm-none-eabi-gcc: command not found error happens when you do not have the 32-bit C libraries installed.
If you want to use Linux, I have made a tool called po-util that automatically installs all of the dependencies for you and makes it easier to build firmware. It also makes DFU uploading much faster, compiling system firmware simpler, and lets you use any branch (version) of the Particle Firmware.
@nrobinson2000 Which libraries did you need to install to make this work? I have the MinGW Installation Manager open in front of me, and can’t figure out what the “32-bit C libraries” you mention are:
Where are they located???
I’m pretty sure I have them installed allready???
If so, then I’m not sure why I am getting the arm-none-eabi-gcc command not found error. Here is a printout of my environment variables. As you can see I have included the correct .bin folders in the PATH variable… so not sure why I am still getting this error:
Currently, the 4.9-2015-q3-update is recommended. The 5.3.1 version can be used now and will be used for cloud compiles starting with system firmware 0.7.0. The 5.4.x and 6.x versions are not recommended at this time.
I was following the GitHub instructions and therefore installed arm-gcc v6.0. Once I saw the "Official Guide" recommended 4.9-2015-q3 I uninstalled 6.0 and installed the 4.9q3 version.
Things are now working as expected:
Boompy@TOMS_TOWER ~
$ export PATH="$PATH:C:/Program Files (x86)/GNU Tools ARM Embedded/4.9 2015q3/bin"
Boompy@TOMS_TOWER ~
$ cd C:/PARTICLE_LOCAL/firmware/modules
Boompy@TOMS_TOWER /c/PARTICLE_LOCAL/firmware/modules
$ make clean all PLATFORM=photon -s program-dfu
/c/PARTICLE_LOCAL/firmware/modules/photon/system-part1/makefile /c/PARTICLE_LOCAL/firmware/modules/photon/system-part2/makefile /c/PARTICLE_LOCAL/firmware/modules/photon/user-part/makefile
text data bss dec hex filename
252280 144 148 252572 3da9c ../../../build/target/system-part1/platform-6-m/system-part1.elf
dfu-suffix (dfu-util) 0.8
Copyright 2011-2012 Stefan Schmidt, 2013-2014 Tormod Volden
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org
Suffix successfully added to file
Serial device PARTICLE_SERIAL_DEV : not available
Flashing using dfu:
dfu-util 0.8
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org
No DFU capable USB device available
make[1]: *** [program-dfu] Error 74
make: *** [/c/PARTICLE_LOCAL/firmware/modules/photon/system-part1/makefile] Error 2