Why do I need Cloud access?

I have been developing embedded processors since the Intel 8748 and 8051. Those and current processors, Atmel, Microchip, Ti, all have open use compilers and linkers to load a C source file onto the chip in raw HEX code.

Is there a way to do this on the P2? I have been handed a C++ source file from a sister division and they want me to work with the code on a P2 which I just bought new. However this setup process is very frustrating especially working behind a very secure firewall*.

*Is the P2 a professional or hobbyist product? Because most technology companies that would use a P2 have secure firewalls to protect their IP. Seems a bit limiting the P2 boot loader firmware does not have facilities to deal with that?

The P2 is intended to be a cloud-based product, so most of the instructions and tooling are oriented in that direction. If you are only interested in bare-metal implementation, there are less-expensive Wi-Fi chipsets than the P2.

That said, you can use the gcc-arm toolchain to product a firmware binary and flash that using a CMSIS-DAP debugger. There are tools like the hex generator to combine user binaries and Device OS into a single hex file for flashing with a SWD debugger.

The P2 can be run without cloud access enabled but it's not intended to be used that way.

Ok, that brings me to another question. Is the P2 intended for embedding into commercial products? The issue is what happens if Particle is sold or is dissolved? I have been burned by that once before using cloud based development tools.

Yes, the P2 is intended to be used in commercial products.

The gcc-arm toolchain uses native cross-compilers so it could work even if Particle did not exist.

However, since Particle is part of Digi, a company that has been around for over 40 years, we believe the likelihood that we will go out of business is very low.