2

现在,我实现了一个 ASP(应用程序特定处理器),我想用 RISC 类型的架构来开发它。在网上阅读了一下,我得出结论,最好的选择是使用 RISC-V。

这个想法是在 Verilog 中开发一个设计,以便它可以运行 RISC-V ISA。并且处理器要运行的软件应用程序非常简单,只有几个算术运算。由于这个原因,因为它只是一个应用程序,所以处理器不需要支持操作系统。

我正在考虑从我的 C 应用程序生成一个十六进制文件并将该文件加载到 ROM 内存中。但是我找不到如何从 C 中的代码生成十六进制文件?

我用riscv64-unknown-elf-gcc正确构建了我的程序

$ riscv64-unknown-elf-gcc -o hello hello.c

但我不知道如何生成一个十六进制文件。

有人可以告诉我如何创建这个文件吗?

4

1 回答 1

3

您可以使用elf2hex构建 RISC-V 工具链时安装的程序。您可以在 riscv-tests/benchmark 存储库的 Makefile ( https://github.com/riscv/riscv-tests/blob/master/benchmarks/Makefile )中看到生成 hex 文件的示例:

%.hex: %
    elf2hex 16 32768 $< > $@

以及用法:

elf2hex <width> <depth> <elf_file>
于 2015-07-09T21:11:09.547 回答