OpenCores
URL https://opencores.org/ocsvn/minsoc/minsoc/trunk

Subversion Repositories minsoc

[/] [minsoc/] [trunk/] [sw/] [eth/] [eth.c] - Diff between revs 53 and 64

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 53 Rev 64
 
#include "../../backend/board.h"
#include "../support/support.h"
#include "../support/support.h"
#include "../support/board.h"
 
 
 
#include "../support/or1200.h"
#include "../support/or1200.h"
 
 
#include "../drivers/uart.h"
#include "../drivers/uart.h"
#include "../drivers/eth.h"
#include "../drivers/eth.h"
 
 
 
 
extern int eth_rx_len;
extern int eth_rx_len;
extern int eth_rx_done, eth_tx_done;
extern int eth_rx_done, eth_tx_done;
extern unsigned char * eth_rx_data;
extern unsigned char * eth_rx_data;
extern unsigned char * eth_tx_data;
extern unsigned char * eth_tx_data;
 
 
void eth_receive()
void eth_receive()
{
{
        int i;
        int i;
        uart_print_str("Length: \n");
        uart_print_str("Length: \n");
        uart_print_long(eth_rx_len);
        uart_print_long(eth_rx_len);
        uart_print_str("\n");
        uart_print_str("\n");
        uart_print_str("Data: \n");
        uart_print_str("Data: \n");
        for ( i = 0; i < eth_rx_len; i++ )
        for ( i = 0; i < eth_rx_len; i++ )
        {
        {
                uart_print_short(eth_rx_data[i]);
                uart_print_short(eth_rx_data[i]);
                uart_print_str("\n");
                uart_print_str("\n");
        }
        }
        eth_recv_ack();
        eth_recv_ack();
}
}
 
 
int main()
int main()
{
{
        unsigned long lalala;
        unsigned long lalala;
        uart_init();
        uart_init();
 
 
        int_init();
        int_init();
        eth_init();
        eth_init();
        int_add(UART_IRQ, &uart_interrupt);
        int_add(UART_IRQ, &uart_interrupt);
        int_add(ETH_IRQ, &eth_interrupt);
        int_add(ETH_IRQ, &eth_interrupt);
 
 
        /* We can't use printf because in this simple example
        /* We can't use printf because in this simple example
           we don't link C library. */
           we don't link C library. */
        uart_print_str("Hello World.\n\r");
        uart_print_str("Hello World.\n\r");
 
 
        eth_tx_data[0] = 0xFF;
        eth_tx_data[0] = 0xFF;
        eth_tx_data[1] = 0x2B;
        eth_tx_data[1] = 0x2B;
        eth_tx_data[2] = 0x40;
        eth_tx_data[2] = 0x40;
        eth_tx_data[3] = 0x50;
        eth_tx_data[3] = 0x50;
 
 
        eth_send(4);
        eth_send(4);
 
 
        while(1)
        while(1)
        {
        {
                if (eth_rx_done)
                if (eth_rx_done)
                {
                {
                        eth_receive();
                        eth_receive();
                }
                }
        }
        }
 
 
        report(0xdeaddead);
        report(0xdeaddead);
        or32_exit(0);
        or32_exit(0);
}
}
 
 
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2022 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.