RT+LWIP中lwip_sys_init的疑问
查看源代码,发现lwip_sys_init不仅调用了tcpip_thread线程,还产生了些信号量等变量 占用一定的空间,它本身的设计思路可能是系统初始化时一次执行。但在
1.TCP连接出错或崩溃时,感觉只有复位一条路,否则关闭线程,再重新初始化,会产生内存问题
2.出于功耗等其它考虑,若想根据需要再调用lwip_sys_init时(应用是GPRS拔号)。
所以想修改tcpip_thread线程为可关闭,不知是将lwip_sys_init中新增变量变成全局好还是在关闭tcpip_thread线程,再释放变量好,本人对RT还不是很熟悉,望指点一两句。 1. 应该查为什么出错或奔溃;
2. 功耗因素与这个线程是否初始化关联不大呢。
如果 1 真正的想这么干,可以考虑把lwip做为一个应用模块加载,当然这样内存占用就会上去了。 1.出错与崩溃在长时间运行时是很难查到的,最简单的办法就是重连,重试。
2.可在IDLE里作低功耗处理,线程在内存中运行就会产生运行时间,即功耗增加,增加多少我没有评估过。
关于“应用模块加载”不知具体什么方法,我需要参考哪些内容 4.0的功能啊
页:
[1]