Moin moin,
ich möchte für den STM32F4 C-Code compilieren (und natürlich auch
debuggen). Dazu verwende ich den GCC von hier
https://launchpad.net/gcc-arm-embedded
unter 64 Bit Linux. Soweit läuft alles bestens, mein Code compiliert und
lässt sich mit einem Segger J-Link hervorragend debuggen. Nun möchte ich
aber noch eine String-Ausgabe per UART realisieren. Auf der Arbeit
hatten wir IAR EWARM verwendet, dort konnte man einfach printf()
benutzen, welches dann eine Funktion (write()) aufrief, die dann
einzelne Bytes an den UART sandte. Ich will das hier mit diesem GCC auch
so haben. Dazu aber ein paar Fragen:
1. wie muss ich das genau implementieren, damit am Schluss meine
einzelnen Characters an den UART kommen? ich habe irgendwo gelesen, dass
man ein paar Syscalls selber implementieren muss. Ich finde aber
nirgends eine Liste, welche das genau sind.
2. Ich bin mir nicht ganz sicher, welche C-Library der oben angegebene
Compiler verwendet. Ich vermute aber, es ist die Newlib. Diese hat eine
printf() (und auch sprintf()) implementierung, welche malloc() benutzt.
Ich möchte malloc() wenn möglich vermeiden. Kann ich dem Compiler eine
andere C-Library unterjubeln, oder wie würde man dies am geschicktesten
realisieren?
3. Ich habe Elm Chans FATFS auf meinem Target laufen. Kann man dieses
unter Umständen über die Syscalls mit den normalen C-Aufrufen für
Filehandling verheiraten?
Vielen Dank für eure Tipps.
Grüsse
Tobias