MDK下外扩SRAM指定地址分配空间问题(内存管理详解!!)

2019-07-25 18:06发布

各位大神,请问外扩SRAM中按照
 uint8_t TxBuffer[2048] __attribute__((at(0X68000000)));
 uint8_t data[2048] __attribute__((at(0X68000000)));...
来定义数组,可是编译后总是出现
..OBJ est.axf: Error: L6982E: AT section test.o(.ARM.__AT_0x68000000) with base 0x68000000 limit 0x68001864 overlaps address range with AT section malloc.o(.ARM.__AT_0x68000000) with base 0x68000000 limit 0x68032000.
..OBJ est.axf: Error: L6982E: AT section synaptics.o(.ARM.__AT_0x68000000) with base 0x68000000 limit 0x68002760 overlaps address range with AT section malloc.o(.ARM.__AT_0x68000000) with base 0x68000000 limit 0x68032000.
这种情况。我找了很多帖子都没有遇到这种情况的,是不是我的程序写错了呢,还是地址分配我没注意。
对了,使用外部SRAM还有一种是使用编译器定义的,在外部初始化FSMC该怎么操作呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
28条回答
marble
1楼-- · 2019-07-28 08:12
正.点.原.子 发表于 2015-1-2 14:47
回复【11楼】托卡玛克:
---------------------------------
在内存管理malloc的头文件中,将MEM1_MAX_SIZE ...

我想用外部SRAM,但是,这些大小不是固定的吗?内部最大100多K,外部最大1MB,基本上原子哥都用了呀?我外部就想用300K,原子哥已经开到了900K,按理说够用了呀?
marble
2楼-- · 2019-07-28 13:20
正点原子 发表于 2015-8-22 20:27
cool....

我想用外部SRAM,但是,我外部就想用300K,原子哥已经开到了900K,按理说够用了呀?
我用了FATFS文件系统,用到了malloc,用了malloc,是不是就不能用指定外部SRAM的方法了?(我想把原子哥的“外部SRAM实验”与“FATFS测试工程”结合在一起,完成AD采集并存储)
lol
3楼-- · 2019-07-28 18:57
 精彩回答 2  元偷偷看……
marble
4楼-- · 2019-07-28 22:04
lol 发表于 2016-7-29 09:47
您好,您用过FATFS实验中的malloc以后,还能用外部SRAM吗?malloc占用了多少外部SRAM呢。谢谢

我后来直接用的数组,2000个双字节,也够用了。
lol
5楼-- · 2019-07-29 01:04
marble 发表于 2016-7-29 10:45
我后来直接用的数组,2000个双字节,也够用了。

您的数组是全局数组吗?定义在外部SRAM还是内部SRAM?
marble
6楼-- · 2019-07-29 05:23
lol 发表于 2016-7-29 10:49
您的数组是全局数组吗?定义在外部SRAM还是内部SRAM?

用的全局数组,定义在内部SRAM

一周热门 更多>