I've been working on a project that recently went over 16K, which I expected to not be a problem on the 32K ATmega328, but it is. The sketch compiles and uploads successfully (or so does the IDE tell me), but after it passes about 16400 bytes, the code just stops working. It is like some of the binary didn't make it to the chip. I know it isn't code related, because I can add/remove any non-essential line(like a System.println()
to make it under/over the ~16K mark and when it is under it works 100%, when it is over, it doesn't even initialize my components (like LCD, RTC etc).
So I'm at a loss what is going on. I know the chip is the right one. It is not a commercial Arduino, but a diy one, though I doubt that could be related.
So any help would be much appreciated.