uart-console-log-9.ino

Efinix Sapphire RV64 : SoC RISC-V 64 bits configurable pour FPGA · Fichier : uart-console-log-9.ino · Langage : C · Usage : Implémenter une redirection printf vers l'UART pour le débogage console.

Configure l'UART0 pour la sortie de débogage série, permettant l'utilisation des fonctions printf standard.

Connectez un convertisseur USB-UART aux broches TX/RX de l'UART0. Le code surcharge la fonction bas-niveau _putchar pour diriger la sortie vers le matériel UART. Vérifiez que la fréquence d'horloge système correspond à la vitesse de baudrate. Utilisez un terminal série à 115200 bauds.

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++);
    }
}

← Retour à la fiche