uart-console-log-9.ino
Configura UART0 para la salida de depuración serie, permitiendo el uso de funciones printf estándar.
Conecte un convertidor USB-UART a los pines TX/RX de UART0. El código sobrescribe la función de bajo nivel _putchar para dirigir la salida al hardware UART. Asegúrese de que la frecuencia de reloj del sistema coincida con la velocidad de baudios. Utilice un terminal serie a 115200 baudios.
uart-console-log-9.ino
#include <stdio.h>
#include <unistd.h>
#include "xhal_uart.h"
#define UART_INSTANCE XHAL_UART0
// Redirection de stdout/stderr vers UART0
void _putchar(char c) {
xhal_uart_write_char(UART_INSTANCE, c);
}
// Fonction d'initialisation requise par certaines libc
void _exit(int status) {
while(1);
}
int main(void) {
xhal_uart_init(UART_INSTANCE, 115200, 8, XHAL_UART_PARITY_NONE, 1);
printf("Sapphire RV64 Booting...\n");
printf("CPU: VexiiRiscv\n");
int counter = 0;
while(1) {
printf("Heartbeat: %d\n", counter++);
// Simple delay
for(volatile int i=0; i<1000000; i++);
}
}