初级会员

- 积分
- 56
- 金钱
- 56
- 注册时间
- 2019-4-10
- 在线时间
- 12 小时
|
1金钱
本在人开发中,发现正点原子探索者F4标准例程实验36 外部SRAM中添加,标准例程实验37 内存管理实验中的malloc编译报错如下:..\OBJ\SRAM.axf: Error: L6982E: AT section main.o(.ARM.__AT_0x68000000) with base 0x68000000 limit 0x680f4240 overlaps address range with AT section malloc.o(.ARM.__AT_0x68000000) with base 0x68000000 limit 0x680f0000.
错误代码如下:u32 testsram[250000] __attribute__((at(0X68000000)));//测试用数组
..\OBJ\SRAM.axf: Error: L6982E: AT section main.o(.ARM.__AT_0x68000000) with base 0x68000000 limit 0x680f4240 overlaps address range with AT section malloc.o(.ARM.__AT_0x680F0000) with base 0x680f0000 limit 0x680ff000.
错误代码如下:(malloc.c)u16 mem2mapbase[MEM2_ALLOC_TABLE_SIZE] __attribute__((at(0X68000000+MEM2_MAX_SIZE))); //外部SRAM内存池MAP
(malloc.h)#define MEM2_MAX_SIZE 960 *1024 //最大管理内存960K
分别报出两个地方的内存不对.
希望有遇到过或者知道解决办法的各位前辈多多指教.
|
最佳答案
查看完整内容[请看2#楼]
你好,关于报错的问题,我已经解决了,参照原子哥的提示,把内存池修改小一点就可以了.但是我觉得我配置了sram项目有问题,比如printf会死机这种情况.
|