问题描述
.heap (copY): {
__heap_start = .;
KEEP(*(.heaP*))
__heap_end = .;
} > RAM
.stack (copY): {
KEEP(*(.stack*))
} > RAM
__stack_start = ORIGIN(RAM) + LENGTH(RAM);
__stack_end = __stack_start - SIZEOF(.stack);
PROVIDE(_stack = __stack_start);
ASSERT(__stack_end >= __heap_end,"Stack overflow in region RAM")
通过这种方式,我可以计算出适合代码所需的最低限度的 RAM。它在 ARM 中运行良好,当我查看链接器映射时,我看到 .stack 和 .heap 不是空的。但是,当我对 RISC-V 执行相同操作时,这些区域是空的。有什么原因吗?
我为两者使用的代码是相似的。我正在使用 arm-none-eabi-gcc 和 riscv32-unkNown-elf-gcc。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)