Dann brauchst du

1. einen dynamischen Linker
2. einen Compiler, der position independent code (pic) macht
3. deine Applikation muss die vorhanden Module verwalten können und wissen, welche sie braucht/nachladen muss/wegwerfen kann.

Am einfachsten ist wohl 3. Für Punkt 2 musst du dir nen Compiler besorgen, der das kann (avr-gcc kann es nicht). Nen dynamischen Linker musst du auch schreiben/besorgen.