各位大神,请问外扩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该怎么操作呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
”因为不管是存储什么数据类型内存中的地址编号都是32位的,即每个地址编号可以容纳4个字节“
请问地址编号跟地址可容量有什么关系吗?
我遇到个奇怪的问题,这样子定义 uint16_t flg_bit_all __attribute__((at(0x20000040))); 能通过编译,但如果我换个地址 uint16_t flg_bit_all __attribute__((at(0x20000004))); 就不行,总是报错: Error: L6971E: system_stm32f10x.o(.data) type RW incompatible with main.o(.ARM.__AT_0x20000004) type ZI in er RW_IRAM1. 不知道怎么回事
一周热门 更多>