]>
cvs.zerfleddert.de Git - linexec-j720/blob - uart.cpp
4 //#include <aygshell.h>
9 //#define FUART 0x40100000
12 void UART_puts(char *s
)
14 UINT32
*base
=(UINT32
*)VirtualAlloc((void*)0x0,sizeof(void*)*0xffff, MEM_RESERVE
,PAGE_READWRITE
);
15 int ret
=VirtualCopy(base
,(void *) ((UARTBASE
)/256),sizeof(void*)*0xffff , PAGE_READWRITE
|PAGE_NOCACHE
|PAGE_PHYSICAL
);
19 while((base
[UARTSTATUS
/4]&1<<UARTTXRDY
) == UARTTXBIT
) {}
20 base
[UARTDATA
/4]=(char)(s
[a
]);
27 UINT32
*base
=(UINT32
*)VirtualAlloc((void*)0x0,sizeof(void*)*0xffff, MEM_RESERVE
,PAGE_READWRITE
);
28 int ret
=VirtualCopy(base
,(void *) ((UARTBASE
)/256),sizeof(void*)*0xffff , PAGE_READWRITE
|PAGE_NOCACHE
|PAGE_PHYSICAL
);
31 // Apparently there is something we don't know. This is needed.
32 HANDLE hSerial
= CreateFile(L
"COM1:", GENERIC_READ
| GENERIC_WRITE
, FILE_SHARE_READ
| FILE_SHARE_WRITE
, NULL
, OPEN_EXISTING
, FILE_ATTRIBUTE_NORMAL
, 0);
37 // set 8 bit no parity 1 stopbit
48 base
[0]=8; // 115200 bps
52 // UART enable & no FIFO
57 char test
[]="LinExec: UART Initialized.\n\r";
61 while((base
[UARTSTATUS
/4]&1<<UARTTXRDY
) == UARTTXBIT
) {}
62 base
[UARTDATA
/4]=(char)(test
[a
]);