[uCOS/uCGUI] ICC移植UCOS和lwip无法建立TCP连接

吴通凯   2008-10-16 15:27 楼主
请问有人移植过ucos和lwip吗?atmel128 ICC编译器。 在ADS中字节对齐用 __packed x __packed 在VC中是 pargma (push,x) pargma 在ICC中是怎么表示的啊?是不是没有的啊?哪位大虾知道的请告诉我下 我最近在做这方面的工作,遇到了一些问题,希望高手们可以指点下。问题描述如下: lwip 的操作系统模拟曾和驱动层都写好了,但是在运行任务的时候出现了问题。运行到 __pstNewConn = netconn_accept(__pstConn);就一直等待接收了。部分代码如下: void T_LwIPEntry(void * pvArg) { struct netconn *__pstConn, *__pstNewConn; struct netbuf *__pstNetbuf; BYTE *__pbData; LONG __lLen; //BYTE i = 0, __bIsAdd = TRUE; struct ip_addr addr={0x63626180}; //* 初始化LwIP __ilvInitLwIP(); //* 设置LWIP包括设置网络接口、建立接收任务等工作 __ilvSetLwIP(); /* AT91F_PIO_CfgOutput(AT91C_BASE_PIOB, AT91C_PIO_PB19 | AT91C_PIO_PB20 | AT91C_PIO_PB21 | AT91C_PIO_PB22);*/ __pstConn = netconn_new(NETCONN_TCP); netconn_bind(__pstConn,/*&addr*/NULL , 1095); netconn_listen(__pstConn); while(TRUE) { __pstNewConn = netconn_accept(__pstConn); if(__pstNewConn != NULL) { __pstNetbuf = netconn_recv(__pstNewConn); if(__pstNetbuf != NULL) { netconn_write(__pstNewConn, "HTTP/1.1 200 OK\r\nContent-type: text/html\r\n\r\n", 44, NETCONN_COPY); netconn_write(__pstNewConn, "

这是LWIP TCP测试!

", 40, NETCONN_COPY); netbuf_delete(__pstNetbuf); } netconn_close(__pstNewConn); while(netconn_delete(__pstNewConn) != ERR_OK) OSTimeDlyHMSM(0, 0, 0, 100); } } }

回复评论 (1)

兄弟,我也正在搞碰到同样的问题,不知道你是否已经解决,一起交流如何,QQ8510010

我遇到的问题是上位机测试显示连接成功,但板子上netconn_accept()却一直无法返回,
这个问题在LWIP1.2上出现,但在LWIP0.7版本上没问题,但0.7上面有内存泄漏的问题.
点赞  2008-12-26 12:54
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复