blob: ecdbe3d875b7df129a2f5d1dbd3c96809a65893e [file] [log] [blame] [view]
# Building CoreMark
To build CoreMark under meson:
```sh
cd "${REPO_TOP}"
./meson_init.sh
ninja -C build-out/sw/${TARGET} sw/device/benchmarks/coremark/coremark_export
```
Where ${TARGET} is one of 'sim-verilator' or 'fpga'
This will give you a .bin and .elf file (suitable for either spiflash or
giving directly to `--meminit` for Verilator) which can be found in
`build-bin/sw/device/fpga/benchmarks/coremark`
# CoreMark Options
The meson build script alters ITERATIONS (specifying how many iterations
CoreMark does) depending on whether it is a sim-verilator or an fpga build. 1
iteration is used for sim-verilator, 100 for fpga.
The meson script is hardcoded to give PERFORMANCE_RUN with
TOTAL_DATA_SIZE=2000. These are settings required for reportable CoreMark
figures. If you wish to use other options please alter
`sw/device/benchmarks/coremark/meson.build` appropriately. See the CoreMark
README in `sw/vendor/eembc_coremark/README.md` for further information on the
possibilities.