定时任务处理检测,当MAC层的接收缓冲区溢出时则重启芯片;
测试时发现,在网络接收任务中low_level_input读缓冲区执行时,在没有申请到内存时则会很快缓冲区溢出,并且定时任务则进入重启;
1.关闭不必的应用程序任务;只保留网络初始化任务,MAC缓冲区检测任务,数据结构初始化任务;
2.可能是执行效率过低,把网络缓冲区从外部RAM移到内部RAM、因外部的速度不及内部。
3.调低系统心跳频率,从1000到100,因为心跳需软中断处理支持。注意此处修改涉及到的代码较多。
4.在网络接收任务中稍加等待数据包的延时时间,因为网络接收包的优先级大于其它一切任务,当频繁调用时则会中断TCP_IP()数据处理任务的操作。因为TCP_IP任务的优先级不及网络数据包接收任务;
如果上面所为无效则应该考虑是否因为修改出了问题;
1.查看编译过程中告警信息,找出关于网络的信息并处理。
2.
阅读(1437) | 评论(0) | 转发(0) |