zhongshu_1988 发表于 2013-2-4 16:43:43

请教LPC1768开发板移植LwIP到UCOS-II上PING不通的问题

开发板用的是lpc1768的芯片;
以太网物理芯片用的是DP83848;
驱动用的是lpc官方驱动包:lpc175x_6x_cmsis_driver_library
UCOS-II是2.89版本,已经测试过了,没问题
LwIP是1.41版本

现在情况是,PING不通,但在电脑上用抓包软件可以抓到开发板上发出的ARP请求包,arp -a也能显示开发板的IP和MAC地址,见下图:

zhongshu_1988 发表于 2013-2-4 16:46:23

调试好几天了,一直没找出哪里出问题,希望朋友们给点思路,谢谢了

汪长鸿 发表于 2013-2-4 17:01:30

我有个网上下载的1768+ucos+lwip的代码,给你,应该对你有帮助

zhongshu_1988 发表于 2013-2-4 17:19:14

汪长鸿 发表于 2013-2-4 17:01 static/image/common/back.gif
我有个网上下载的1768+ucos+lwip的代码,给你,应该对你有帮助

多谢汪兄了,我下下来好好对比下。
其实,我手头上也有一个lpc1768的工程,但他没有用lpc官方驱动包,ucos和lwip的版本也比较低,所以,我就对照着那个工程然后做的我这个工程。
有个让我困惑的问题是,lwip从1.3x到1.4x,struct类型sys_timeouts没有了,只有sys_timeo类型,这让我很困惑,我就在lwip源码timers.h中添加了类型sys_timeouts的定义,然后相关函数仿照我手头的工程写,我对lwip的timeout机制不甚了解,不知道这样有没有问题。

zhongshu_1988 发表于 2013-2-4 17:28:47

本帖最后由 zhongshu_1988 于 2013-2-4 17:29 编辑

我调试的过程中发现,ARP缓存表一直都不正常,与开发板直连的电脑的IP和MAC一直没有被存进ARP缓存表。但是电脑确实发送了ARP响应包,所以可能是开发板这边接收数据出了问题。继续调试发现,开发板发送了ARP请求包之后,程序流程再也没有进入ENET_IRQHandler,这让我太困惑了。电脑响应了ARP响应包之后,应该立即进入ENET_IRQHandler才对啊。不知道怎么搞了。。。

zhongshu_1988 发表于 2013-2-5 14:42:50

大神都放假回家了? 求助啊

LingYi 发表于 2013-11-7 14:17:42

谢谢楼上的提供的资源!

changtf 发表于 2013-11-8 09:38:10

期待高手不吝赐教啊{:time:}

cmheia 发表于 2013-11-8 09:43:04

{:lol:}又一个进不了中断的

beyondme37 发表于 2014-1-15 21:13:34

也要弄以太网,一筹莫展,先借lz的代码研究研究{:cry:}

beyondme37 发表于 2014-1-15 22:46:18

楼主你好,有进展了么,在看你上传的代码,一筹莫展呢{:cry:}

beyondme37 发表于 2014-1-16 19:55:29

用你的代码试了,有两个问题:
1、arp -a 怎么没有找到板子的ip、mac
2、在task里加led点亮测试代码,也没亮,task没起来?

LingYi 发表于 2014-8-29 17:55:39

楼主,这是你做的笔记吧! 我这里给出了答案!{:lol:}虽然过了很久了,但是希望可以帮到后面的人。
页: [1]
查看完整版本: 请教LPC1768开发板移植LwIP到UCOS-II上PING不通的问题