|
From: | Haori Yang |
Subject: | Re: [lwip-users] udp/lwip on xilinx |
Date: | Wed, 4 Oct 2006 21:45:01 -0400 |
Hello,
I just glanced at the code, but noticed that your remote_pcb is not bound to a local endpoint. I believe both ends must be grounded with an endpoint. Your remote_pcb uses udp_connect() to specify the remote endpoint IP Address and port number, but isn't bound to a local IP Address and port number.
// local_pcb = udp_new();
remote_pcb = udp_new();
// udp_bind(local_pcb, &ipaddr, (u16_t)8080);
udp_bind(remote_pcb, IP_ADDR_ANY, (u16_t)8081);
udp_connect(remote_pcb, &remoteip, (u16_t)8080);
Regards,
Ed
From: lwip-users-bounces+edward.pisano=address@hidden [mailto:address@hidden] On Behalf Of Haori Yang
Sent: Wednesday, October 04, 2006 6:17 PM
To: address@hidden
Subject: [lwip-users] udp/lwip on xilinx
Guys,
I am trying to implement a udp client on a xilinx fpga. here's my code. I am getting "undefined reference" errors. could you take a look at it? Thanks.
I appreciate your help.
#include "xparameters.h"
/* lwIP Includes */
#include "netif/xemacif.h"
#include "lwip/tcp.h"
#include "lwip/udp.h"
#include "lwip/memp.h"
#include "lwip/mem.h"
#include "netif/etharp.h"
#include "lwip/sys.h"
extern XEmacIf_Config XEmacIf_ConfigTable[];
int main(void)
{
struct udp_pcb *local_pcb;
struct udp_pcb *remote_pcb;
struct ip_addr ipaddr, netmask, gateway, remoteip;
struct netif *default_netif;
char low_mac[3] = {0x00,0x22,0x38};
unsigned char fullmac[6] = {0x00, 0x0A, 0x35, 0x00, 0x22, 0x38};
unsigned char ip_address[4] = {149,199,6,108};
unsigned char ip_remote[4] = {149,199,6,107};
unsigned char subnet[4] = {255,255,255,0};
unsigned char gateway_addr[4] = {149,199,6,254};
struct pbuf *p;
void *tmpPtr;
unsigned char buffer[4096] = "beetje flauw\n";
unsigned char *buffPtr;
sys_init();
mem_init();
memp_init();
pbuf_init();
xemacif_setmac(0, (u8_t *)fullmac);
IP4_ADDR(&ipaddr, ip_address[0], ip_address[1], ip_address[2], ip_address[3]);
IP4_ADDR(&netmask, subnet[0], subnet[1], subnet[2], subnet[3]);
IP4_ADDR(&gateway, gateway_addr[0], gateway_addr[1], gateway_addr[2], gateway_addr[3]);
IP4_ADDR(&remoteip, ip_remote[0], ip_remote[1], ip_remote[2], ip_remote[3]);
netif_init();
udp_init();
tmpPtr = mem_malloc((mem_size_t)sizeof(struct netif));
default_netif = (netif *) tmpPtr;
default_netif = netif_add(default_netif,
&ipaddr,
&netmask,
&gateway,
&XEmacIf_ConfigTable[0],
xemacif_init,
ip_input);
netif_set_default(default_netif);
// local_pcb = udp_new();
remote_pcb = udp_new();
// udp_bind(local_pcb, &ipaddr, (u16_t)8080);
udp_connect(remote_pcb, &remoteip, (u16_t)8080);
p = pbuf_alloc(PBUF_TRANSPORT,4096,PBUF_RAM);
p->payload = buffer;
for (;;)
{
udp_send(remote_pcb, p);
}
return 0;
}
_______________________________________________
lwip-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/lwip-users
[Prev in Thread] | Current Thread | [Next in Thread] |