So, in an effort to make local building easier for people, I put together a basic installer for the Toolchain for Windows. It should download and install GCC Arm, GNU make, and the necessary components of the MinGW toolkit, and add them appropriately to the path. I generally followed @kennethlimcp’s guide here. I tested it on Win 7, so if something doesn’t work, let me know and I’ll try to fix it! This should decrease the number of steps necessary to get up and running with building locally:
Looks like stat is failing. :-/ This has been reported several times - I don’t know why - some issue with MinGW although some people seem to have managed to fix the problem without specifically mentioning how.
The only thing that does is putting C:\MinGW\msys\1.0\bin at the very beginning of my system path (not later in the user path). Perhaps it's because I have so many older programs and paths that I never got rid of over the years as I upgraded windows versions.
The quick way to test if this works for you is to enter the following in your windows terminal:
Last two suggestions:
Peruse your path and make sure you don’t have another make.exe on the path. I had an ancient Make.exe in a Borland Delphi bin folder that I had to rename. Second, ensure you didn’t leave the items C:\minGW;C:\minGW\msys\1.0\bin later in your path such that there are 2 instances of each.
Unless I’m mistaken, that looks like your USER path.
C:\MinGW\msys\1.0\bin has to be at the very beginning of your SYSTEM path (NOT later in the user path).
At least it did in my system.
I’d want to see what is displayed when you type “path” without the quotes in the terminal
It’s also possible that @bpr’s comment about two makes is right, as it looks like you already had a toolchain setup for the Spark in your path. I’m working on a second release already, as I found that it seems to have trouble in Windows 10 Preview, so I’m switching how it assigns the Path. What version of Windows are you using?
IF it’s a path problem like mine, what I did in my case is:
select Control Panel then System then Advanced then Environment then System Variables.
Scroll down in the BOTTOM window to the Path item, highlight it and click Edit…
Now, being super/ultra careful, add
C:\Particle\Toolchain\MinGW;C:\Particle\Toolchain\MinGW\msys\1.0\bin;
at the very beginning. YOU MUST NOT DELETE ANYTHING THAT"S ALREADY THERE. If you do destroy what’s already there, simply cancel the edit and retry. Once you get it right, click OK each window backing out.
BTW I always copy my paths and save them in a file safely first before editing.
Again, the simple temporary way to change the path and test if it’s the problem is the way I mentioned before, typing
set PATH=C:\Particle\Toolchain\MinGW;C:\Particle\Toolchain\MinGW\msys\1.0\bin;%PATH%
in the terminal window and not rebooting. I note you have MinGW in a different spot than I do so that may be why it didn’t work if you tried it before.
But I definitely defer to @mumblepins as he developed the install procedure.
To change the system path, the easiest way is search in the start menu for environ… and up will pop up “Edit the System Environment Variables” which will actually show you both the system and user variables. Temporarily you can also set it via the command set PATH=C:\Windows..... Whatever you want, seperated by semicolons or to append set PATH=%PATH%;C:\pathtoappend
Try a quick thing though first, open up a command prompt, run set PATH=C:\Particle\Toolchain\MinGW;C:\Particle\Toolchain\MinGW\msys\1.0\bin;C:\Particle\Toolchain\Make\bin;C:\Particle\Toolchain\GCC-ARM\bin and then run make.
appears to have worked correctly. below is the output when runing: make PLATFORM=P1 clean all
Where does the files output to?
32+0 records in
32+0 records out
32 bytes (32 B) copied, 0 seconds, Infinity B/s
4+0 records in
4+0 records out
4 bytes (4 B) copied, 5.955 seconds, 0.0 kB/s
[ ! -f …/…/…/build/target/user-part/platform-8-m/user-part.bin ] || rm …/…/
…/build/target/user-part/platform-8-m/user-part.bin
mv …/…/…/build/target/user-part/platform-8-m/user-part.bin.pre_crc …/…/…/b
uild/target/user-part/platform-8-m/user-part.bin
No valid DFU suffix signature
New DFU suffix added.
Serial device PARTICLE_SERIAL_DEV : not available
Flashing using dfu:
dfu-util -d 0x2B04:0xD008 -a 0 -s 0x80A0000:leave -D …/…/…/build/target/user-
part/platform-8-m/user-part.dfu
dfu-util 0.7
Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2012 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org
Filter on vendor = 0x2b04 product = 0xd008
Opening DFU capable USB device… ID 2b04:d008
Run-time device DFU version 011a
Found DFU: [2b04:d008] devnum=0, cfg=1, intf=0, alt=0, name="@Internal Flash /
0x08000000/03016Ka,01016Kg,01064Kg,07128Kg"
Claiming USB DFU Interface…
Setting Alternate Setting #0 …
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 4096
Dfu suffix version 100
DfuSe interface name: "Internal Flash "
Downloading to address = 0x080a0000, size = 4564
…
File downloaded successfully
Error during download get_status
Error during download get_status
make[1]: Leaving directory /c/Users/Main/firmware/modules/photon/user-part' make: Nothing to be done forprogram-dfu’.