真心求助,ZI-data那么大,进入HardFault_Handler

2019-07-20 14:09发布

原子哥,真心求助。我在使用探索者开发板,在我的程序中我只是用了usb、lwip、ucos、fatfs和sd等,我在调试的过程中先没有用usb和lwip,就读取sd卡中的数据,
经过编译Program Size: Code=71848 RO-data=3096 RW-data=1312 ZI-data=1241624(我就读个sd卡的文件,为什么ZI-data这么大),仿真的时候直接进入HardFault_Handler。
1.在程序中我定义了一个结构体,有点大,用来存放参数的,每当我使用它编译完仿真后就进入HardFault_Handler,如果没有使用就没事,是由于结构体太大导致越界吗?需要给全局的结构体变量申请内存吗?
2.我在Option for target中把IRAM1  的size 从0x10000改成了0x40000,如果不改编译不过去,出现..OBJTEST.axf: Error: L6407E: Sections of aggregate size 0x20834 bytes could not fit into .ANY selector(s).这是为什么呢?这需要怎么设置?


这块非常糊涂,不是很清楚,希望大家多指导!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。