Skip to content
/ elf2hex Public

Converts ELF files to HEX files that are suitable for Verilog's readmemh.

Notifications You must be signed in to change notification settings

sifive/elf2hex

Folders and files

NameName
Last commit message
Last commit date
Jun 14, 2021
May 4, 2020
Dec 14, 2018
Jul 18, 2018
Aug 22, 2018
Sep 2, 2020
Aug 10, 2018
Sep 2, 2020
Sep 2, 2020
Sep 2, 2020
Sep 2, 2020
Apr 1, 2019
Apr 11, 2019
Apr 11, 2019
Aug 22, 2018
Jul 28, 2018
Sep 2, 2020
Sep 2, 2020
Sep 2, 2020

Repository files navigation

elf2hex

./elf2hex [-h] --bit-width BIT_WIDTH --input INPUT.ELF [--output OUTPUT.HEX]

SiFive's Verilog test harnesses can't directly read ELF binaries but are instead required to be provided with a hexidecimal dump of a particular width and depth. This project allows users to easily create these files.

Building elf2hex from a release

The best way to build elf2hex is from the latest release's tarball, as these releases have been tested. elf2hex uses the standard GNU build flow:

tar -xvzpf elf2hex-1.0.1.tar.gz cd elf2hex-1.0.1 ./configure --target=riscv64-unknown-elf make make install

Building from the tarballs requires Python 3.5 (or newer) as well as a C compiler, as well as a RISC-V toolchain.

Building elf2hex from git

The latest source for elf2hex can be found on SiFive's GitHub. While the master branch is always meant to be stable, there are no guarantees. To build from git sources you must regenerate the build scripts from their sources and then follow the standard build flow

git clone git://github.com/sifive/elf2hex.git
cd elf2hex
autoreconf -i
./configure --target=riscv64-unknown-elf
make
make install