本人于下午一下午时间移植了一个UIP,修改后,好用了,由于内存不足,所以吧内部的静态存储区改成100个字节,这样对于ram的消耗会大大的降低,满足我的硬件系统要求,我运行试过了,我的RAM只有4096程序我正好控制在4016字节,正好可以跑起来,ICMP报文正常,TCP连接正常,数据也是正确的!哈哈,好高兴!下一步芯片来了之后,开始加入操作系统,那就是小菜一碟了!嘿嘿
oid tcp_wangjunwei_appcall()//我自己的TCP端口
{
if (uip_closed())
{
// USART_OUT(USART1,"uip_closed!\r\n");
closed();
}
if (uip_connected())
{
struct tcp_demo_appstate *s = (struct tcp_demo_appstate *)&uip_conn->appstate;
s->state = STATE_CMD; //指令状态
s->textlen = 0;
s->textptr = "连接到王均伟的TCP端口上,哈哈哈!扫噶!";
s->textlen = strlen((char *)s->textptr);
senddata();
}
if (uip_acked())
{
acked();
}
if (uip_rexmit() || uip_newdata() || uip_acked() || uip_connected() || uip_poll())
{
struct tcp_demo_appstate *s = (struct tcp_demo_appstate *)&uip_conn->appstate;
s->textptr = uip_appdata; /* 向客户端发送收到的数据 */
s->textlen = uip_len;
senddata();
}
}
|