Gast
#4447075
Hallo, auf einem Microcontroller (hier ARM Cortex M3 mit GCC und newlib) funktioniert printf ja nicht out-of-the-box, wenn der Controllerhersteller nicht schon passende Funktionen für _write, etc. zur Verfügung stellt. Ruft man dann printf auf, dann fliegen einem Fehlermeldungen bzgl fehlender Funktionen wie eben _write, _sbrk, etc um die Ohren. Diese Funktionen muss man dann selber passend für den µC implementieren. Hierzu hätte ich folgende Fragen: 1) mit sprintf landet die Ausgabe in einem Buffer, welchen man dann passend an die jeweilige Schnittstelle übergeben kann. Wenn ich nun davon ausgehe, dass die Software nicht auf einen PC portiert wird, dann gibt es eigentlich keinen Grund, die oben genannten Funktionen zu implementieren, oder? Falls die Software doch auf einem PC (oder generell auf einem völlig anderen System) laufen soll, dann sollte man es aber tun, damit man überall printf verwenden kann, korrekt? 2) Wie schwer ist die Implementierung, wenn man auf dem µC evtl mehrere Schnittstellen wie z.B. mehrere UARTs und ein Display hat, die man per printf ansprechen möchte? Neben den Zugriffsfunktionen (_write, etc.) müsste man dann ja noch die Schnittstellen selbst definieren, wie funktioniert das dann? Ralf