在RT1061 SDK2.10.0"lwip_httpssrv_ota_enet"例程中,我增加了一个 优先级为2的点灯任务,而https任务的优先级为3,TCP/IP线程的任务优先级为8.在开发板上电以后,程序初始化LWIP内核和初始化https后,此时我并没有在PC上通过IP地址在浏览器访问开发板上的https服务器,所以https将会是阻塞状态,只有点灯任务在运行,此时一切正常。然后当我从PC上通过在浏览器上通过IP地址访问开发板上https,网页是无法打开的,并且点灯任务也会无法运行,似乎是程序崩溃了。但是如果没加点灯任务,https可以成功运行。
我现在需要在这个例程中增加一个像点灯程序一样的应用程序,而且在我需要使用https服务也能正常使用。请问如何解决上面的问题呢?
我将堆的大小从96kb改为120kb,https程序仍然不能正常运行,但是我将堆栈设置为200kb以后,点灯程序与https程序都可以正常运行。现在可以确定之前点灯程序与hppts程序不能同时运行,是因为堆栈小了的原因。这个现象并不正常,我给点灯程序分配的栈区为4000字节,点灯程序里面也并没有申请内存,我多加了24kb的堆还是不够,而没有点灯程序只有https程序的时候96Kb够了,为什么会是这样呢?