打印

又是一个Lwip+ucos-ii的问题,请指点

[复制链接]
1713|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
feifan570|  楼主 | 2008-1-30 14:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    现在我的这个项目有14个任务,包括空闲任务。网络可以通讯了,但当运行到一定的时间(有可能是几个小时也有可能只是几十分钟)系统就挂起了。其表现在:只在空闲任务中运行,其它的任务不能运行。这个时候定时中断还是有的。但是如果我把网线拔掉,那就一直可以运行。
我使用仿真器调试时发现:
    虽然现在运行的时空闲任务,但是OSPrioCur的值不是空闲任务的优先级,而是我另外的一个任务的优先级(网络任务)。这使得在调度时OSPrioCur的值和OSPrioHighRdy的值相等而不发生调度。
    我手动地把OSPrioCur改成空闲任务的优先级,那系统又可以调度了,但是过不就又出现这种情况。
    我原来怀疑是堆栈空间不够,但是我不管把网络任务的那几个任务的堆栈设成多大,这个问题都存在。而且我通过串口打印堆栈的使用情况,都没有发现有溢出。
    请问各位大哥,有没有谁遇到这样的问题。或者给个建议说说这问题出在那里?

相关帖子

沙发
songbw| | 2008-1-30 16:41 | 只看该作者

请教楼上一点

关于Lwip应该如何入门?如何去调试?需要看哪些书?
感觉TCP/IP好难,不知道该如何下手。

使用特权

评论回复
板凳
feifan570|  楼主 | 2008-1-30 17:14 | 只看该作者

先看TCP/IP原理

先看看TCP/IP原理,再找一可以运行网络的板,一边运行一边看看其代码。最好找一份有文档的代码(Lwip文档太少了,感觉不爽),那样看起来比较舒服一点。这只是我个人之谈。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

92

主题

195

帖子

1

粉丝