Need more program space

photon
argon
Tags: #<Tag:0x00007f1ca1252a00> #<Tag:0x00007f1ca1252870>

#1

We are currently using the Particle Photon, really like the cloud platform, does everything we need from a product management perspective. We are hitting the 128k program space limit, and have a few other products in the pipeline that we could easily exceed that limit.

Is there any way to expand on the program space and maintain the Particle cloud firmware management? We are currently looking at other platforms we could use the ESP32 (would give us a huge step up in available program space). Is there a way to use the ESP32 with the particle cloud?

Is there a timeline in for the argon for using the XIP? That would give us a bit more space if we could access that and maintain OTA updates.

Any help would be really appreciated!


#2

Is there any way to expand on the program space and maintain the Particle cloud firmware management?

It’s theoretically possible to use the backup firmware slot on the Photon, but there are two problems with doing so. One is that it gets overwritten on a system firmware update. The other is that there’s no support for building a binary that is non-contiguous. It’s difficult enough to do that I don’t believe anyone has done it.

Is there a way to use the ESP32 with the particle cloud?

Not at this time.

Is there a timeline in for the argon for using the XIP? That would give us a bit more space if we could access that and maintain OTA updates.

There is one reserved block in the external flash of the Gen 3 devices that could be enabled for XIP. However, there are few problems with that: There is no support for getting code into that slot, and there’s no support for building binaries across a non-contiguous address space there, either. It’s not scheduled to be implemented any time in the near future.


#3

That is unfortunate that it is not on the development schedule, it was advertised as one of the potential features of the Mesh products that really sold me, but will be a deal breaker for product integration, IOT platforms can end up consuming a lot of program space.


#4

You could consider using the factory backup space (128k). The draw back is that this space cannot be OTAed. I use it on the P1 to store all my big fixed libraries that need not changing (dsp routines, mbed tla, that sort of stuff).