我有一个硬件设计在Verilog开发的基础上,伯克利的Vscale处理器。为了测试设计,我想编译一些C程序并生成十六进制文件。我最终想要从六文件生成ROM并执行Verilog模拟。哪个编译器最适合这个目的,riscv32 64-未知精灵-gcc还是riscv32 32-未知-精灵-gcc?Vscale处理器的体系结构为RV32IM。
发布于 2016-04-18 12:34:05
您可以使用elf2hex命令从精灵文件(使用gcc -o创建)创建一个.hex文件,即:elf2hex 16 4096 my_elf_file > output.hex,如果您要使用32位架构,我将使用riscv32 32-未知精灵-gcc编译。
发布于 2016-04-20 06:13:31
我目前使用objcopy来测试我的核心设计。当前版本的gcc包含一个补丁,它允许objcopy输出verilog内存文件。
riscv32-unknown-elf-objcopy -O verilog input.elf output.vh我可以轻松地将这些文件加载到模型模拟中。
但是要回答你的问题,这将生成英特尔格式的十六进制文件。
riscv32-unknown-elf-objcopy -O ihex input.elf output.hexObjcopy还支持指定要导出的代码节和内存位置。
https://stackoverflow.com/questions/36648190
复制相似问题