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.