ping() 调用lwip_close() 无法返回

发布于 2015-11-05 18:50:21    浏览:1416
#ifdef RT_USING_GMAC_INT_MODE
/* installl isr */
DEBUG_MES("%s
", __FUNCTION__);
rt_hw_interrupt_install(34, eth_rx_irq, RT_NULL, "e0_isr");
rt_hw_interrupt_umask(34);
#else
rt_timer_init(&dev->rx_poll_timer, "rx_poll_timer",
eth_rx_irq,
(void *)adapter,
1,
RT_TIMER_FLAG_PERIODIC);

rt_timer_start(&dev->rx_poll_timer);
#endif /*RT_USING_GMAC_INT_MODE*/


以上代码用中断模式没有问题,但是选用轮询模式的时候,ping() 调用的 lwip_close() ,就会死在 schdule() 中最后一段代码无法返回,如下:
rt_hw_context_switch((rt_uint32_t)&from_thread->sp, (rt_uint32_t)&to_thread->sp);

查看更多

2 个回答
bernard
bernard 2015-11-05
This guy hasn't written anything yet
不太明白

撰写答案

请登录后再发布答案,点击登录
关注者
0
被浏览
1.4k

发布
问题

分享
好友

手机
浏览

扫码手机浏览