最近在做一个项目,结果编译报错
d:/pai/aipi-open-kits/aithinker_ai-m6x_sdk/toolchain_gcc_t-head_windows/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: build_out\bl616_gba_bl616.elf section `.bss' will not fit in region `ram_memory'
d:/pai/aipi-open-kits/aithinker_ai-m6x_sdk/toolchain_gcc_t-head_windows/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: region `ram_memory' overflowed by 510760 bytes
问了GPT,说是
section '.bss' will not fit in region 'ram_memory':这说明了链接器在尝试将.bss节(通常是用来存放未初始化的全局变量或静态变量的内存段)放入名为ram_memory的内存区域时出现了溢出。
region 'ram_memory' overflowed by 510760 bytes:这是指内存区域ram_memory溢出了510760字节,也就是该区域无法容纳所有的数据。
M61-32S的配置是4MBpSRAM,532KB SRAM,128KBROM,应该是SRAM不够,我看看网上的方案,应该可以用pSRAM。
其中
项目代码中的大数组在下面
psram示例工程给了按地址写入的代码,如何把数组存入psram中呢??
为了用pSRAM,我又去找了psram的示例代码,运行了一下
在aithinker_Ai-M6X_SDK\drivers\lhal\include\compiler\compiler_ld.h
头文件里面找到这句