#include <stdio.h>
#include <string.h>
#include <avr32/io.h>
#include "print_funcs.h"
#include "usart.h"
#include "board.h"
#include "macb.h"
#include "gpio.h"
#include "conf_eth.h"
#include "flashc.h"
#include "intc.h"
#include "power_clocks_lib.h"
Macros | |
#define | MACB_EXAMPLE_CPU_HZ 60000000 |
#define | MACB_EXAMPLE_PBA_HZ 30000000 |
#define | SEQ_NUM_START 0x2546 |
Functions | |
static unsigned short | in_cksum (unsigned short *addr, int len) |
Checksum routine for Internet Protocol family headers. More... | |
static void | macb_example_receive_packet (macb_packet_t *pkt) |
callback to manage packets reception More... | |
static void | macb_example_send_ARP_request (void) |
Send an ARP request to host. More... | |
static void | macb_example_send_ping_response (macb_packet_t *pkt) |
function to send PING response to pkt->data->host More... | |
int | main (void) |
main function : do init and loop (poll if configured so) More... | |
Variables | |
const unsigned char | ARP_FRAME [42] |
unsigned char | data [ETHERNET_CONF_TX_BUFFER_SIZE] |
unsigned char | hwaddr [6] = { ETHERNET_CONF_ETHADDR0,ETHERNET_CONF_ETHADDR1,ETHERNET_CONF_ETHADDR2,ETHERNET_CONF_ETHADDR3,ETHERNET_CONF_ETHADDR4,ETHERNET_CONF_ETHADDR5 } |
const unsigned char | local_ipaddr [4] = {ETHERNET_CONF_IPADDR0,ETHERNET_CONF_IPADDR1,ETHERNET_CONF_IPADDR2,ETHERNET_CONF_IPADDR3} |
unsigned short | seqnum = SEQ_NUM_START |
#define MACB_EXAMPLE_CPU_HZ 60000000 |
Referenced by main().
#define MACB_EXAMPLE_PBA_HZ 30000000 |
Referenced by main().
#define SEQ_NUM_START 0x2546 |
initial sequence number for ICMP request and reply
Referenced by macb_example_send_ping_response().
|
static |
Checksum routine for Internet Protocol family headers.
addr | address of data to compute checksum |
len | length of data to compute checksum |
Referenced by macb_example_send_ping_response().
|
static |
callback to manage packets reception
pkt | packet to manage |
References macb_packet_t::data, hwaddr, macb_packet_t::len, lMACBSend(), local_ipaddr, macb_example_send_ping_response(), and print_dbg().
Referenced by main().
|
static |
Send an ARP request to host.
References ARP_FRAME, data, macb_packet_t::data, macb_packet_t::len, lMACBSend(), and print_dbg().
Referenced by main().
|
static |
function to send PING response to pkt->data->host
pkt | packet to manage |
References macb_packet_t::data, hwaddr, in_cksum(), macb_packet_t::len, lMACBSend(), LSB, MSB, SEQ_NUM_START, and seqnum.
Referenced by macb_example_receive_packet().
int main | ( | void | ) |
main function : do init and loop (poll if configured so)
References data, macb_packet_t::data, EXTPHY_MACB_MDC_FUNCTION, EXTPHY_MACB_MDC_PIN, EXTPHY_MACB_MDIO_FUNCTION, EXTPHY_MACB_MDIO_PIN, EXTPHY_MACB_RX_DV_FUNCTION, EXTPHY_MACB_RX_DV_PIN, EXTPHY_MACB_RX_ER_FUNCTION, EXTPHY_MACB_RX_ER_PIN, EXTPHY_MACB_RXD_0_FUNCTION, EXTPHY_MACB_RXD_0_PIN, EXTPHY_MACB_RXD_1_FUNCTION, EXTPHY_MACB_RXD_1_PIN, EXTPHY_MACB_TX_CLK_FUNCTION, EXTPHY_MACB_TX_CLK_PIN, EXTPHY_MACB_TX_EN_FUNCTION, EXTPHY_MACB_TX_EN_PIN, EXTPHY_MACB_TXD_0_FUNCTION, EXTPHY_MACB_TXD_0_PIN, EXTPHY_MACB_TXD_1_FUNCTION, EXTPHY_MACB_TXD_1_PIN, FOSC0, gpio_clr_gpio_pin(), gpio_enable_module(), init_dbg_rs232(), INTC_init_interrupts(), LED0_GPIO, LED1_GPIO, macb_packet_t::len, MACB_EXAMPLE_CPU_HZ, MACB_EXAMPLE_PBA_HZ, macb_example_receive_packet(), macb_example_send_ARP_request(), OSC0_STARTUP, PASS, pcl_configure_clocks(), pcl_freq_param_t, print_dbg(), ulMACBInputLength(), vMACBRead(), vMACBWaitForInput(), and xMACBInit().
const unsigned char ARP_FRAME[42] |
define the ARP global frame
Referenced by macb_example_send_ARP_request().
unsigned char data[ETHERNET_CONF_TX_BUFFER_SIZE] |
buffer for sending packets
Referenced by macb_example_send_ARP_request(), and main().
unsigned char hwaddr[6] = { ETHERNET_CONF_ETHADDR0,ETHERNET_CONF_ETHADDR1,ETHERNET_CONF_ETHADDR2,ETHERNET_CONF_ETHADDR3,ETHERNET_CONF_ETHADDR4,ETHERNET_CONF_ETHADDR5 } |
Referenced by macb_example_receive_packet(), and macb_example_send_ping_response().
const unsigned char local_ipaddr[4] = {ETHERNET_CONF_IPADDR0,ETHERNET_CONF_IPADDR1,ETHERNET_CONF_IPADDR2,ETHERNET_CONF_IPADDR3} |
buffer for sending packets
Referenced by macb_example_receive_packet().
unsigned short seqnum = SEQ_NUM_START |
sequence number for ICMP request and reply
Referenced by macb_example_send_ping_response().