你好,最近我遇到一个问题。当程序跑在板子上后,第二天会崩溃,通过串口调试,发现获取不了IP地址。断电重启无效,重新烧录程序无效。需要将MAC地址擦除在写入后,才能获取IP地址。其间MAC地址没有修改。之前我程序因为库丢失,然后重新配置编译选项后才能使用,我怀疑是Freertos的内存分配出错。我现在使用的是heap2.c 切换其他的1345方式会便以失败。
chao tang1:
回复 xyz549040622:
通过测试应该就是你说的问题。谢谢。
xyz549040622:
回复 chao tang1:
可以分享下更详细的出错情况吗,说不定以后也会碰到这种情况的。
chao tang1:
回复 xyz549040622:
首先我用的是第二周的内存管理策略导致了内存碎片化,占用了一些非法访问的内存。因为程序会不断的申请内存和释放。后面我用了第四种就OK了。用第一种更会出现问题导致没有内存分配了。不同的程序还是需要考虑内存管理。
chao tang1:
回复 chao tang1:
我5S打印一次未分配内存堆发现越来越小。导致程序崩溃。而我使用第四个的时候,未分配内存堆维持在一个值左右、虽然我程序频繁分配,但是总量不大,次数快。
xyz549040622:
回复 chao tang1:
学习了,经验之谈呀这才是。