1
0
mirror of git://projects.qi-hardware.com/nn-usb-fpga.git synced 2025-04-21 12:27:27 +03:00

Adding PS2, capacitive keyboard examples

This commit is contained in:
carlos
2010-11-30 19:26:56 -05:00
parent 2efe106cf3
commit 62d0edf217
275 changed files with 1696660 additions and 23991 deletions

View File

@@ -9,11 +9,11 @@ f8000003
781c0000
3b9c0ffc
781a0000
3b5a06c0
3b5a0690
78010000
382106c0
38210684
78030000
386306c4
38630688
44230004
58200000
34210004
@@ -21,7 +21,7 @@ e3fffffd
34010000
34020000
34030000
f8000041
f8000032
34010001
d0010000
c3a00000
@@ -33,58 +33,43 @@ d0010000
c3a00000
c0200000
e0000000
379cfff8
5b8b0008
5b9d0004
f800006e
3c2b0008
f800006c
b5610800
3c2b0008
f8000069
b5610800
3c2b0008
f8000066
b5610800
2b9d0004
2b8b0008
379c0008
c3a00000
379cffd0
379cffe8
5b8b0010
5b8c000c
5b9b0008
5b8d0008
5b9d0004
b820d800
b8205800
78010000
3821046c
f800006a
38210430
f800006c
37820014
b8406000
37830034
2361000f
58410000
34420004
037b0004
b8406800
3783001c
2161000f
30410000
34420001
016b0004
5c43fffc
358cfffc
379b0030
340b0009
2b620000
35adffff
378b001b
340c0009
41620000
34410030
484b000c
f800005b
377bfffc
5f6cfffb
34010020
34430037
202100ff
544c000c
356bffff
f8000051
5d6dfff9
3401002e
f800004e
2b9d0004
2b8b0010
2b8c000c
2b9b0008
379c0030
2b8d0008
379c0018
c3a00000
34410037
206100ff
e3fffff4
379cffe4
5b8b001c
@@ -102,10 +87,10 @@ f8000032
780d0000
e0000004
b9a00800
382104a4
38210468
f800003d
b9800800
38210470
38210434
f800003a
f8000027
5c2bfff9
@@ -113,16 +98,16 @@ f8000027
f8000058
b8207000
ba000800
3821048c
38210450
f8000032
b9c00800
fbffffbe
fbffffbc
b9e00800
38210498
3821045c
f800002d
e3fffff0
78020000
384206b8
3842067c
3803c350
28420000
88230800
@@ -136,7 +121,7 @@ e3fffff0
4420fffe
c3a00000
78010000
382106b8
3821067c
28210000
3802c350
58220004
@@ -147,7 +132,7 @@ c3a00000
c3a00000
c3a00000
78010000
382106b4
38210678
28220000
28410000
20210001
@@ -156,7 +141,7 @@ c3a00000
202100ff
c3a00000
78020000
384206b4
38420678
28430000
202100ff
28620000
@@ -167,7 +152,7 @@ c3a00000
40240000
4480000b
78020000
384206b4
38420678
28430000
28620000
20420010
@@ -183,7 +168,7 @@ b8204000
c3a00000
34010000
78070000
38e704b4
38e70478
b8201800
b5032000
40840000
@@ -220,7 +205,7 @@ fbffffc2
780d0000
fbffffc1
b9e08800
39ad04b4
39ad0478
34100000
340e0082
fbffffb3
@@ -1022,3 +1007,18 @@ f0020000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000

View File

@@ -5,47 +5,37 @@
*/
#include "soc-hw.h"
/* prototypes */
uint32_t read_uint32()
{
uint32_t val = 0, i;
for (i = 0; i < 4; i++) {
val <<= 8;
val += (uint8_t)uart_getchar();
}
return val;
}
void hexprint(unsigned int hexval)
{
int digit[8], pos;
unsigned char digit[8];
int pos;
uart_putstr("0x");
for(pos = 0; pos < 8; pos++)
{
digit[pos] = (hexval & 0xF); /* last hexit */
digit[pos] = (hexval & 0x0F); /* last hexit */
hexval = hexval >> 4;
}
for(pos = 7; pos > -1; pos--)
{
if(digit[pos] < 0xA)
uart_putstr((char *)digit[pos] + '0');
if( digit[pos] < 0x0A)
uart_putchar(digit[pos] + '0' );
else
uart_putstr((char *)digit[pos] + 'A' - 10);
uart_putchar(digit[pos] + 'A' - 10);
}
uart_putchar(' ');
uart_putchar('.');
}
int main(int argc, char **argv)
{
int8_t *p;
uint8_t c;
int key, len, autoboot = 1, dispmenu = 1;
int8_t *p;
uint8_t c;
unsigned int key, len, autoboot = 1, dispmenu = 1;
// Initialize UART
uart_init();
// Initialize UART
uart_init();
while(1){ /* loop forever until u-boot gets booted or the board is reset */
if(dispmenu){
@@ -57,8 +47,8 @@ int main(int argc, char **argv)
// uart_putstr("6: Memory test\r\n");
dispmenu = 0;
}
key = uart_getchar();
autoboot = 0;
key = uart_getchar();
autoboot = 0;
if(key == '1'){
len = rxmodem((unsigned char *)0x800);
uart_putstr("Received ");
@@ -71,10 +61,6 @@ int main(int argc, char **argv)
uart_putstr("Invalid input\r\n");
dispmenu = 1;
}
}
}

View File

@@ -46,13 +46,13 @@ void uart_init()
//uart0->div = (FCPU/(57600*16));
}
char uart_getchar()
unsigned char uart_getchar()
{
while (! (uart0->ucr & UART_DR)) ;
return uart0->rxtx;
return (uart0->rxtx) & 0xFF;
}
void uart_putchar(char c)
void uart_putchar(unsigned char c)
{
while (uart0->ucr & UART_BUSY) ;
uart0->rxtx = c;

View File

@@ -92,9 +92,9 @@ typedef struct {
} uart_t;
void uart_init();
void uart_putchar(char c);
void uart_putchar(unsigned char c);
void uart_putstr(char *str);
char uart_getchar();
unsigned char uart_getchar();
/***************************************************************************

View File

@@ -73,33 +73,33 @@ unsigned short crc16_ccitt(const void *buf, int len)
int rxmodem(unsigned char *dest)
{
unsigned long *ptr = (unsigned long *) 0x0;
unsigned short crc, tcrc;
int i, pid = 1, len = 0;
int i, len = 0;
unsigned char pid = 1;
uart_getchar ();
uart_getchar();
for(i = 0; i < 0x4000000; i++) { asm("nop;"); }
uart_putchar ('C');
uart_putchar('C');
while(1)
{
char c, pid1, pid2;
unsigned char c, pid1, pid2;
c = uart_getchar();
c = uart_getchar() & 0xFF;
if (c != SOH)
{
if (c == EOT)
{
uart_putchar (ACK);
uart_putchar(ACK);
return len;
}
else
return 0;
}
pid1 = uart_getchar ();
pid2 = uart_getchar ();
pid1 = uart_getchar() & 0xFF;
pid2 = uart_getchar() & 0xFF;
if ((pid1 & 0xFF) != (~pid2 & 0xFF))
return 0;
@@ -108,7 +108,7 @@ int rxmodem(unsigned char *dest)
return 0;
for (i = 0; i < 130; i++)
*dest++ = uart_getchar ();
*dest++ = uart_getchar();
crc = crc16_ccitt (dest - 130, 128);
tcrc = (*(dest - 2)<<8) + *(dest - 1);
@@ -119,7 +119,7 @@ int rxmodem(unsigned char *dest)
pid = (pid + 1) & 0xFF;
dest -= 2;
len += 128;
uart_putchar (ACK);
uart_putchar(ACK);
}
}
}

View File

@@ -52,8 +52,8 @@ initial begin
$dumpfile("system_tb.vcd");
//$monitor("%b,%b,%b,%b",clk,rst,uart_txd,uart_rxd);
$dumpvars(-1, dut);
//$dumpvars(-1,clk,rst,uart_txd,uart_rxd);
//$dumpvars(-1, dut);
$dumpvars(-1,clk,rst,uart_txd);
// reset
#0 rst <= 0;
#80 rst <= 1;