背景:上一讲的实验并没有成功,到底是什么原因造成的呢?
前面几节都是在linux系统下面完成的,没有测试串口,边界路由器上电时因该吐出点数据才对,先到windows下面看看问题出在哪儿了。
1、在windows下面打开串口助手,看一下是否有数据?
结论:串口没有任何数据输出,程序可能根本就没有跑起来。
2、回到linux下面,查代码看是否有造成内存溢出的地方,很快发现了下面的问题
果然有收获,好家伙,这里定义最大负载为120个字节,尽管是动态的,但是这个连续空间对系统来说开销不小,果断降为20,重新make、烧录、测试。
可以看到系统运行起来了!果真是这里出了问题。
总结:前面的测试可能带来了理解上的偏差,其实系统并没有真正的运行起来,5节的测试是tunslip6文件运行起来后带来的错误判断,而边界路由器在前面其实根本就没有运行起来,所以下面的节点无法ping通,明天用USB转接串口的线再次进行测试,顺便研究一下2530下面最大负载能承载到多少合适。