Quello che dico si riduce ad un semplice memcpy(dst,src,size). Ma è l'organizzazione del codice che è la parte + complicata. Infatti ecco il motivo per il quale ti chiedevo cosa fosse la tua applicazione, xche io troverei una soluzione + vicino all'applicazione e nn creare qualcosa di generale cm ho postato prima.
Sia xche richiede delle conoscenze dei tools e del hardware che si usano e sia xche è molto complesso si parla di linkare dinamicamente del codice a runtime, conosciutissimo cn il nome di DLL.
X la compilazione credo che tu usi qualcosa tipo il GCC, ecco cn il GCC basta indicare tra le varie opzioni -fPIC ed il compilatore genera del codice rilocabile (relativo cm dicevo prima).
Ma poi ce il grosso, e cioe caricarlo in memoria (basta un memcpy) ed aggiustare i vari indirizzi. Ecco, se riesci a trovare qualcosa su internet, oppure qualcuno che ha gia qualcosa, fai molto prima anche xche scrivere qualcosa qui mi farebbe bannare vista la mole di cs che sarei costretto a postare ed anche xche mi stancherei troppo.
Molto probabilmente, se utilizzi delle schede embedded sicuramente ce anche del codice gia pronto altrimenti ripeto, almeno che nn ci sia qualche opzione nei tools che possiedi, scirvere qualcosa + appropriato alla tua applicazione, anche al costo di avere doppio codice, x me è la soluzione migliore.