"External" memory for program memory?

jharris1993:
I know, from what I have read, that the stock Arduino device comes with a fixed amount of memory that can be used for running sketches, ranging from about 4k, to 256k or so, depending on the Atmel chip used.

I also know that by using a SD shield, or an Ethernet shield that has a built-in SD card reader, I can use the SD chip for data-logging and such.

Question #1:
Has anyone tried to use the SD card's memory for extended data storage, used programmatically? For example: I want to use an Arduino with an Ethernet shield, (containing an SD card reader), as a web server and I want to put multiple web-pages on the, (much larger!), SD card rather than main memory?

Question #2:
Is it possible to use the external memory on the SD card as additional storage for larger sketches than main memory will hold? Can I execute out of the external memory, or is there a paging scheme that would work?

If this hasn't been done, than this is an area ripe for research, but if it HAS been done - at least in part - I'd really rather not re-invent the wheel again if I don't have to.

Thanks!

1 yes it's pretty trivial to do. It does use a pile of sram as the sd card is fat formatted thus block oriented so your reading 512b at a clip. Please be specific I'm assuming your talking about flash as main memory though that's what most would call sram. If not take a look at progmem PROGMEM - Arduino Reference before thinking you need to deal with sdcards.

2 Yes but it's a great big PITA far easier to get a chip with more flash like the 1284 than to fiddle around with this. This method is also very SLOW and wastes sram to do so. If you think you need more flash than a 1284 provides consider if an 8 bit micro is the right processor type for your application.