kwrite
-FunktionZiel:
Entwickeln Sie die Funktion kwrite
in ARM-Assembler, die Daten an verschiedene Ausgabemedien wie Display, Datei oder UART für Fehlerausgaben schreibt. Diese Funktion soll von kprintf
genutzt werden, um formatierte Ausgaben zu ermöglichen. Es ist an dieser Stelle weder nötig noch möglich die Dateiausgabe zu implementieren, da wir im Rahmen des Tutorials kein Dateisystem implementieren werden.
Anforderungen:
r0
: Ausgabe-Stream ([0] für Display, [1] für Datei, [2/3] für Fehlerausgabe über UART).r1
: Adresse des auszugebenden Strings.r2
: Anzahl der auszugebenden Bytes.Hinweise:
r0
: Ausgabe-Stream ([0] für Display, [1] für Datei, [2/3] für Fehlerausgabe über UART).r1
: Adresse des auszugebenden Strings.r2
: Anzahl der auszugebenden Bytes.lr
und r11
auf dem Stack.stdout_tbl
), um basierend auf dem Wert in r0
den entsprechenden Ausgabehandler (Out_0_handler
, Out_1_handler
, Out_2_handler
) aufzurufen.Out_0_handler
(Display):
text_printchar
./n
) durch Aufruf von out_0_print_newline
.Out_2_handler
(UART für Fehlerausgabe):
k_uart_write_char
./n
) durch Aufruf von out_2_print_newline
.Out_1_handler
(Datei):
out_0_print_newline
: Ausgabe eines einfachen Line Feed (0x0A
) auf dem Display.out_2_print_newline
: Ausgabe von Carriage Return und Line Feed (0x0D, 0x0A
) über UART.r11
und lr
.bx lr
.zurück | Hauptmenü | weiter |