Can the arduino be programmed to run external programs? (such as programs on a flashcard.) For example, if I load a program onto a flashcard, can the arduino be programmed to execute the instructions stored on the flashcard? And can I place libraries on the flashcard so I don't have to load them into the chip? Thanks in Advance!
Take a look at block diagram of the ATMega chip. You will see there is no address/databus going to the outside world. The ports & stuff are basically like a bunch of 8 bit registers each with their own chip-select line. Not like a CPU in a PC which has external address/data busses for accessing external memory.
One way to do what you want is to have the chip reprogram itself with new programs so it could run them. Would just be kinda slow switching between programs :-)
Another way would be to read the data from an SD card address and interpret it on the fly. Say your sketch was a bunch of subroutines/functions. Then your void loop coud be: read SDcard address 1, do function x based on the contents there, when complete function x leaves the function # to be executed next . Do that one, or if null, read the next sdcard address, and so on. Doesn't sound like you save much written up that way. Maybe a real software guy can help me out here.
Another way would be to read the data from an SD card address and interpret it on the fly.
Yeah, one could port http://en.wikipedia.org/wiki/Tiny_BASIC It seems small enough to fit an Arduino, and large enough to do something (useful?)
Also discussed at http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1260909294/15