Prinzipiell hat man zudem zwei grundlegende Möglichkeiten der Ausführung:
  1. Auf einem Host generiert man wie ober ausführbaren Code und lädt diesen in den µC
  2. Man erzeugt mit sich einen Bytecode. Auf dem µC befindet sich ein Interpreter, der sich Bytecode nachladen kann und diesen interpretiert und ausführt. Die benötigten Funktionen hält der Interpreter bereit, oder zieht diese nach, falls benötigt. Im letzten Falle erfordert das relokatiblen Code!
Weg b entspricht etwa der einer Java-VM, die Bytecode interpretiert und zur Ausführung bringt. Weg a entspricht einer nativ durchcompilierten und statisch gelinkten Java-Applikation.

Während b zu halbwegs portablem Code führt (etwa Java Byte-Code), ergibt a idR schnelleren Code, der aber nicht portabel ist (vergleichbar Intel-Hex).