I currently try to generate the “modules” firmware without ‘program-dfu’ option (I have no access to USB from the compilation server), then:
I change directory to modules\
I launch the make => make PLATFORM=P1 clean all
The compilation succeeded but I don’t find any generated .bin file that could match with the firmware to load (locally)
Could I use the make in this purpose ?
If yes, where is the corresponding generated .bin file that I could load (via “particle flash --usb <Firmware.bin>”) ?
@slorre - I am assuming you are using the local toolchain to compile firmware.
There is a base directory where the source tree lives, lets call this ${SRC}.
The instructions for compiling are to cd firmware/modules.
You indicated make PLATFORM=P1 clean all.
Have a look around in ${SRC}/firmware/build/target/...
On a unix compatible platform, you can use the find command. Notice the recently compile firmware for Aug 8 below. There is a lot of other stuff in there.
If you are on Windows, then I am at a loss to find things on the command line. You can use windows explorer to find the *.bin files and discover the path to them.
The firmware I showed you is the core firmware that the device is running. I now think you are trying to find your project firmware that you would run on the device?
You would place your code into a project directory, this is also called the APPDIR.
Three is the correct number of parts for a P1 build. Two system parts and one user part.
However if you clone out the source from a release tag and make no other modifications or option changes to the system parts, you can use the standard pre-built system firmware so you don’t need to flash those. Just flash your user-part.bin, which is basically the same file as you’d get from the cloud compilers.
As your iterating your user firmware code, normally you just build from firmware/main which only builds the user-part and saves a great deal of build time.
If you’re going to use gdb, that’s an entirely different thing as you need a monolithic binary which only has one part that contains the system and user parts.