求助STM32CubeIDE STM32F407+外部SRAM如何将数值指定存储到外..
使用STM32CubIDE 将数组定义到外部SRAM 报错,IDE中应该如何设置uint8_t a __attribute__((at(0x680000)));为什么编译时会报错说RAM超出限制。IDE中我应该如何设置,或者有例程也可以!非常感谢
在工程中找到
**FLASH.LD文件
MEMORY
{
CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K
MALLOC(rw) : ORIGIN = 0x68000000, LENGTH = 1024K //这是增加内容
}
中增加
MALLOC(rw) : ORIGIN = 0x68000000, LENGTH = 1024K
ORIGIN:后边内容为 外部内存地址
LENGTH:后为外部RAM大小
在文件
._user_heap_stack :
{
. = ALIGN(8);
PROVIDE ( end = . );
PROVIDE ( _end = . );
. = . + _Min_Heap_Size;
. = . + _Min_Stack_Size;
. = ALIGN(8);
} >RAM
后添加
.malloc :
{
. = ALIGN(4);
__MALLOC_SYMBOLS = .;
*(.malloc)
*(.malloc*)
. = ALIGN(4);
__EMALLOC_SYMBOLS = .;
} >MALLOC
数组定义时要这样定义
uint8_t testsram __attribute__((section(".malloc"))); 我的也出问题了 需要修改FLASH.LD中的参数 修改成功后 下面两个是FLASH.ld文件,第一个是GUIConf.c文件
参考Cube_fw_f4
STM32Cube_FW_F4_V1.24.0\Projects\STM324x9I_EVAL\Applications\STemWin\STemWin_MemoryDevice 请问,你这么设置之后编译的HEX和BIN文件大小是多少?我按照你这么设置之后bin文件有3G。 hex文件也有8M多,请问还有什么地方要设置吗?第一次用CubeIDE开发
页:
[1]