So, I was happily programming away with my Arduino Decimila, building a sketch that interfaces with a RTC chip using the Wire library, when all of a sudden my entire program stops working. I check to make sure that I didn't screw something up, but everything's fine.
Anyway, 2 hours of troubleshooting later, I discover that if my sketch is bigger than 8584 bytes, it screws up, with odd problems ranging from: - Failure to start entirely - Weird non-printable characters or other crap on the Serial console output - Wire interface no longer functioning.
Removing ANY code (including text from a string) to bring the compiled size down below 8584 causes the program to work again, exactly as expected.
Binary sketch size: 8582 bytes (of a 14336 byte maximum)
This is the last size at which the program still runs.
- I'm using arduino 0010, I just downloaded a new one to be sure
- I'm using only the Wire interface
- I have set my "board" to the "Decimilia" and do have the correct chip selected.
Could it be: - Hardware problem with my Arduino? - Problem with my USB port? - Bug in Arduino compiler?
I will post my sketch if you require it. Thanks.
P.S. These sketch sizes are how I found the problem: 8364 - ok. 8538 - ok. 8552 - ok. 8564 - ok. 8574 - ok. 8582 - ok. 8584 - bad. 8588 - bad. 8758 - bad.
P.S. 2 I just tried making a 13398 byte sketch by putting in tons of useless strings, and it just gave me gibberish ascii characters on the console.
P.S. 3 I just put the software and the board on a totally different computer with the latest drivers and software, and tried uploading the same sketch, and it did exactly the same thing.