You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将REL类型RISC-V ELF文件转为EXEC类型以适配Spike执行

解决方法

问题出在objcopy仅负责格式转换,不会生成可执行文件(EXEC)所需的程序头(Program Headers),因此输出的是可重定位文件(REL)。要生成能被Spike执行的EXEC类型ELF,需要通过RISC-V链接器riscv64-unknown-elf-ld完成链接步骤:

  1. 保留你原有的objcopy命令,生成REL类型的目标文件:
riscv64-unknown-elf-objcopy -O elf32-littleriscv --set-start 0x10000000 --rename-section .sec1=.text image32.ihex image32_rel.elf
  1. 使用链接器将REL文件转换为EXEC类型的可执行文件,指定代码段起始地址(与你设置的入口地址一致):
riscv64-unknown-elf-ld -m elf32lriscv -Ttext=0x10000000 -o image32_exec.elf image32_rel.elf

验证结果

执行以下命令检查生成的ELF文件类型:

riscv64-unknown-elf-readelf -h image32_exec.elf

输出中Type字段应显示为EXEC (Executable file),此时即可正常被Spike模拟器加载执行。

内容的提问来源于stack exchange,提问作者acapola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 03:40:48