App firmware size limit?

First, my apologies if this topic has already been discussed somewhere else, I couldn’t find any reference in the community. Feel free to redirect me to any related thread.

So, after close to one year coding on a RS-485 project based on the electron, and adding feature after feature, I finally decided to refactor all my code. Before refactoring, compiled firmware was 98,328 bytes.

Now, I can’t seem to compile successfully anymore, and I suspect the new code is using more than than. The compiler phase goes well, with just a few meaningless warnings, but the linking phase fails with a bunch of undefined references to several class methods. I’m not sure if I did something wrong here or if I reached a critical size.

Any idea what the limit size for an app firmware may be? What would be the symptoms if getting over that limit? Any workaround?


I may have found the issue, which was with my coding (re-declaring methods in a child class that were public in the parent).

My initial question about code size still holds… Particle datasheets refer to 384KB organised in 3 x 128KB banks, does that mean I can build code up to 384KB?

When you are building code, you are building for user-part, which is one of the 128KB banks. Because of some overhead, this can be rounded to about 125KB of usable space.


Thanks Nathan!