Mega1280, Custom Bootloader, Touch LCD Launchpad

I could use a bit of guidance on creating a custom bootloader that will read an SD card and display icons on a touch screen in the format of smart phone, iphone, Etc...
The icon will contain the filename of relating hex file also stored on the SD, Multiple projects will be stored on SD and be called up as required.

As i understand it the first instruction points to the bootloader code at the top of flash memory which then loads the executable code into low memory or at least this is how it happens with Pic's, I have not got this intimate with AVR's yet but would like to learn.

Also if I screw up the bootloader is it easy enough to burn the original mega1280 bootloader back onto the mega?

Thanks in Advance

This is theoretically possible but you'd most likely require more than one microcontroller.
Take a look at this to give you an idea.

Also if I screw up the bootloader is it easy enough to burn the original mega1280 bootloader back onto the mega?

Yes - assuming you have a programmer or another arduino to use as a programmer.

Thanks for the link mowcius, that's pretty much what i'm looking for.

I'm also interested in this and I have a bit more time on my hands atm - I'll see if I can come up with any more ideas.

Why not an attiny programmed to act as an isp that reads in chunks of a hex file at a time and then writes it to the arduino's flash?

I have a feeling it aint quite as simple as you make it sound but feel free to show us how if you know :smiley:

Haha no im sure its not so simple, but in theory, that is the kind of system that would work, yes?

Umm, well in theory but an ATtiny chip really wouldn't be ideal.

Thanks,

the reason im using a Mega instead of Duemilanove is that i have the mega already setup and running display, touch and SD.
i s'pose the code size could be reduced by just displaying text filenames and using buttons to scroll and select rather that icons.
the idea of using a second mcu to program the mega is good, having thought about it i dont really need a custom bootloader if
my existing program writes the .hex from SD to an unused area of flash and then ORG's to the begining of code.