I followed the instructions for the installation of Arduino on Linux and here are my results:
Arduino/Processing graphical interface runs fine but surprise, it's version 0004 :-?
When I tried to compile the first time, Arduino/Processing asked for avr-g++ ( :o), so I made a symbolic link for that.
Now, compiliation and uploading returns with no errors (it states it found the board and the green RX and TX leds blink) BUT the Arduino board stays in "bootloader" mode forever!
I tried uploading a program with my PC running XP and it worked fine. The STRANGE THING is that when I tried to upload a program with my Linux machine it erased the previous one and returned it to the "boot loader" mode. So it means Linux+Arduino 0004 does upload something, but it's just ignored.
Please help.
Here are additional questions:
How can I download version Arduino 0003 with subversion?
Is there a way to make the compiler and uploader more verbose?
The problem is that your code is too big to fit on the chip. You can work around it by deleting some of the new libraries that are included with the 0004 release.
You see, you've caught us in the midst of a transition from a small core set of libraries that get linked with every sketch to a bigger set of libraries that are selectively linked as needed. Meaning that the code in subversion has some extra libraries, but still links them all to every sketch. The easiest solution is to delete Matrix.cpp, Matrix.h, Sprite.cpp, and Sprite.h from the lib/targets/arduino directory, and to remove the:
#include "Matrix.h" #include "Sprite.h"
from WProgram.h. This should give you more room on the chip for your program. And you'll have many fewer bugs than with version 0003.
Yes. Arduino 0004, once released, should include a mechanism for selectively linking against only the libraries you need for a sketch. It should also give an error message when your sketch is too big to fit on the board.