首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从C代码生成一个十六进制文件来测试32位RISC-V硬件设计?

如何从C代码生成一个十六进制文件来测试32位RISC-V硬件设计?
EN

Stack Overflow用户
提问于 2016-04-15 13:13:14
回答 2查看 4.4K关注 0票数 2

我有一个硬件设计在Verilog开发的基础上,伯克利的Vscale处理器。为了测试设计,我想编译一些C程序并生成十六进制文件。我最终想要从六文件生成ROM并执行Verilog模拟。哪个编译器最适合这个目的,riscv32 64-未知精灵-gcc还是riscv32 32-未知-精灵-gcc?Vscale处理器的体系结构为RV32IM。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-18 12:34:05

您可以使用elf2hex命令从精灵文件(使用gcc -o创建)创建一个.hex文件,即:elf2hex 16 4096 my_elf_file > output.hex,如果您要使用32位架构,我将使用riscv32 32-未知精灵-gcc编译。

票数 3
EN

Stack Overflow用户

发布于 2016-04-20 06:13:31

我目前使用objcopy来测试我的核心设计。当前版本的gcc包含一个补丁,它允许objcopy输出verilog内存文件。

代码语言:javascript
复制
riscv32-unknown-elf-objcopy -O verilog input.elf output.vh

我可以轻松地将这些文件加载到模型模拟中。

但是要回答你的问题,这将生成英特尔格式的十六进制文件。

代码语言:javascript
复制
riscv32-unknown-elf-objcopy -O ihex input.elf output.hex

Objcopy还支持指定要导出的代码节和内存位置。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36648190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档