Micriμm TCP/IP收数据跑死

Table of Contents

同事遇到的。

现象是使用Micriμm的TCP/IP协议栈接收网络数据时,接收任务跑死,但是其他任务,如一个定时打印的任务仍然可以正常运行。所以判定如下:

  1. 程序不会有取指或取数据异常,有的话程序会什么信息都不会有;
  2. 程序不会死在中断里,理由同上;
  3. 接收任务一定是pend在一个信号量上面了,不然不会出不来;

最后发现原来Micriμm使用单独的一个进程处理网络报文,类似与linux的Tasklet。而为这个进程开辟的堆栈空间太小,导致堆栈溢出,无法post信号量。

 

Q:Micriμm μCOS II的任务在堆栈溢出的时候不会导致整个系统跑死?还是溢出的时候正好没有干扰到其他进程?

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.