add cortex-v7a support
How To Run: see TencentOS-tiny\board\ALPHA_I.MX_emmc_256ddr\README.md TODO Next: 1. VFP support 2. fault diagnosis support 3. qemu vexpress ca9 support 4. raspberry pi support 5. SMP support
This commit is contained in:
60
board/ALPHA_I.MX_emmc_256ddr/stdio/lib/printf.c
Normal file
60
board/ALPHA_I.MX_emmc_256ddr/stdio/lib/printf.c
Normal file
@@ -0,0 +1,60 @@
|
||||
#include "vsprintf.h"
|
||||
#include "string.h"
|
||||
#include "printf.h"
|
||||
#include "bsp_uart.h"
|
||||
|
||||
extern void uart_putc(unsigned char c);
|
||||
extern unsigned char uart_getc(void);
|
||||
|
||||
#define OUTBUFSIZE 1024
|
||||
#define INBUFSIZE 1024
|
||||
|
||||
|
||||
static char g_pcOutBuf[OUTBUFSIZE];
|
||||
static char g_pcInBuf[INBUFSIZE];
|
||||
|
||||
|
||||
int printf(const char *fmt, ...)
|
||||
{
|
||||
int i;
|
||||
int len;
|
||||
va_list args;
|
||||
|
||||
va_start(args, fmt);
|
||||
len = vsprintf(g_pcOutBuf,fmt,args);
|
||||
va_end(args);
|
||||
for (i = 0; i < strlen(g_pcOutBuf); i++)
|
||||
{
|
||||
uart_putc(g_pcOutBuf[i]);
|
||||
}
|
||||
return len;
|
||||
}
|
||||
|
||||
int scanf(const char * fmt, ...)
|
||||
{
|
||||
int i = 0;
|
||||
unsigned char c;
|
||||
va_list args;
|
||||
|
||||
while(1)
|
||||
{
|
||||
c = uart_getc();
|
||||
uart_putc(c);
|
||||
if((c == 0x0d) || (c == 0x0a))
|
||||
{
|
||||
g_pcInBuf[i] = '\0';
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_pcInBuf[i++] = c;
|
||||
}
|
||||
}
|
||||
|
||||
va_start(args,fmt);
|
||||
i = vsscanf(g_pcInBuf,fmt,args);
|
||||
va_end(args);
|
||||
|
||||
return i;
|
||||
}
|
||||
|
Reference in New Issue
Block a user