External W25Q32 SPI memory flash for ATMega328

Dear ruilviana, supose I have a small program in a protected memory location somewhere inside 32Kbytes of internal avr flash memory. This program would receive through serial port one byte, i.e, number 0 to 9 corresponding to one of 10 different sketchs (already compiled and stored in machine language, of course) in the external SPI flash memory. Then the resident small program should read the requested module, move it to internal avr flash memory and jump to its begin. At end of execution, the user sketch (or module) would send the control back to small resident program who will stay waiting for a number of the next desired sketch from external flash to be executed...

Am I dreaming or it is possible ?

I do know if I was clear enough. As you know my native language is portuguese, not english...