From 5b6a3f3b216939a11ed1978d7da4dd6bbe4edc2a Mon Sep 17 00:00:00 2001 From: Wojciech Kosior Date: Tue, 29 Dec 2020 19:52:00 +0100 Subject: add a C program for translating binary files to format understood by Verilog --- tools/Makefile | 2 ++ tools/Makefile.tools | 2 +- tools/bin2hex.c | 26 ++++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 tools/bin2hex.c diff --git a/tools/Makefile b/tools/Makefile index 8634a5c..a166da1 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -11,6 +11,8 @@ wasm_compile : wasm_compile.o assemble.o parse_module.o translate.o VGAdump2ppm : VGAdump2ppm.o +bin2hex : bin2hex.o + clean : rm *.o 2>/dev/null || true find . -executable -type f -delete diff --git a/tools/Makefile.tools b/tools/Makefile.tools index 5fc2b6c..19b265c 100644 --- a/tools/Makefile.tools +++ b/tools/Makefile.tools @@ -1,4 +1,4 @@ # This variable definition has been put here, because it is used by # toplevel Makefile as well as Makefile in tools/ -TOOLS = wasm_compile VGAdump2ppm +TOOLS = wasm_compile VGAdump2ppm bin2hex diff --git a/tools/bin2hex.c b/tools/bin2hex.c new file mode 100644 index 0000000..f4f2745 --- /dev/null +++ b/tools/bin2hex.c @@ -0,0 +1,26 @@ +#include +#include + +int main(int argc, char **argv) +{ + int input; + + while (1) { + input = getchar(); + + if (input == EOF) + break; + + printf("%02x", input); + + input = getchar(); + + /* If we have odd number of bytes, pad with a NULL-byte. */ + if (input == EOF) + input = 0; + + printf(" %02x\n", input); + } + + return 0; +} -- cgit v1.2.3