Aggiornamento firmware via 485

Salve a tutti.
Ho un progetto basato su arduino che implementa un protocollo seriale su bus 485. Il dispositivo ha anche una eeprom.
Vorrei implementare l'aggiornamento firmware via bus 485.
Una volta che lo inviassi e lo salvassi in eeprom, fatti i dovuti controlli, c'è un modo perché arduino aggiorni se stesso? Mi potete indicare qualche esempio?

No, Arduino non carica uno sketch precompilato da una memoria. Deve esserci sempre un protocollo di trasmissione oppure un programmatore ISP.
Ciao Uwe

Mi spiego meglio. Su Arm Cortex riesco a cancellare la flash su cui il firmware è salvato ed a riscriverla. Chiaramente è un'operazione pericolosa in quando se non termina correttamente è necessario collegarsi direttamente con il pc.
Si riesce a fare una cosa del genere anche con arduino?

Sicuramente non è impossibile, ma dovrai scriverti un bootloader apposito. Vedi qua: http://www.atmel.com/images/doc1644.pdf

Se sei collegato tramite RS485 non c'è nessun motivo per mettere il firmware su una EEPROM esterna e poi caricarlo su Arduino da questa, comunque possibile scrivendo un apposito loader che va al posto del bootloader standard di Arduino.
Basta modificare leggermente il bootloader di Arduino per farlo lavorare con la RS485 e carichi direttamente tramite questa da IDE come si fa normalmente, in fin dei conti la RS485 è sempre e comunque una comunicazione tramite UART per il micro.

Leggendo, dal boot loader, in una memoria I2C non dovrebbe prendere tanto spazio, l’ hardware ha già una interfaccia I2C. Quindi da lì potrebbe caricare il protocollo compilato della RS485. Comunque si perde spazio nella flash.
Forse si potrebbe caricare un micro boot loader.