作者:手机用户2602920567 | 来源:互联网 | 2023-05-19 06:25
我定义了一个对象字典,是一个结构体数组全局变量,并初始化,不是const的。当下标比较多时,程序就死掉,我减少一点程序就能运行。其中.data段,.bss段,.text段全都放在外部SRAM中,其中
我定义了一个对象字典,是一个结构体 数组全局变量,并初始化,不是const的。当下标比较多时,程序就死掉,我减少一点程序就能运行。其中.data段,.bss段,.text段全都放在外部SRAM中,其中.test段大小是52720字节。.data段大小是8412字节。SRAM是512k字节,足够大。
上图是我定义的全局变量,目前加一行程序就跑死了。请问这是啥原因啊。
7 个解决方案
你的stack定义在哪儿,有一种可能是stack空间太小,结果导致要么是stack被毁,要么是你的bss段或者data段被毁。
我个人感觉还是越界,野指针或者堆栈被覆盖造成的,地方够不见得就没问题,要看你的堆栈指定在哪里。
你尝试下堆栈跟踪,如果有硬件debugger就更好办了。
请问下,OBJMEM 把数组 ObjDictList 放到哪里去了?