#include #include #include int stdout_puts(char *s, int len, void *unused) { (void)unused; // Example: UART write loop for (int i = 0; i < len; i++) { uart_putc(s[i]); // <-- your low-level "put char" routine } return len; } int kprintf(const char *restrict fmt, ...) { va_list ap; va_start(ap, fmt); int ret = mini_vpprintf(stdout_puts, NULL, fmt, ap); va_end(ap); return ret; }