我可以重置的微芯片的TCP/IP堆没有重置的董事会?
题
我的工作与微型芯片是免费的,TCP/IP(版本4.55)堆叠在一个8位微控制器。
我试图重叠,没有做一个完整的董事会重置与个体和小型("RESET").
任何想法,在如何重新启动这堆。
更新
我重叠以下步骤
- 切换的重脚以上的微芯片以太网芯片
- 呼叫StackInit();
- 手动重UDP宣布状态机
这个似乎恢复从致命的SPI错误我遇到了。
解决方案
呼叫StackInit().这一职能重新初始化的所有子模块(TCP,UDP,SMTP,等等)。它还将破坏所有的TCP and UDP插你必须打开,所以你必须要重新打开插你想要使用。
作为一个侧面说明:我跟着线上的微芯片的论坛。我也越来越奇怪的重置在我的TCP堆。它结束了一堆溢出。把一些变量在你叠。
#pragma udata stackoverflow = 0xE00
UInt32 StackUpperBound[8];
#pragma udata
初始化,这些变量开始时的主要()并把一个断点的开始。看看这些变量是被复盖。
其他提示
我完全不熟悉的微芯片叠,但除非堆的设计是重新启动,我怀疑您将取得成功。
如果所有的缓冲器和结构是静态的分配,那么在理论上,你可以打电话给初始化程序,以"重新启动"堆叠(假设它不会重新初始化的结构)。
如果它采用动态的缓冲区(malloc),那么我相信你会走运。
不隶属于 StackOverflow