fox-tools/gcc/README.md
Ry eec12a9e9a gcc: Implement ROM/OS calls
Co-authored-by: Lua MacDougall <lua@foxgirl.dev>
2023-02-06 19:50:50 -08:00

590 B

Compiling C code for fox32

How does this work?

  • GCC compiles your C code with riscv*-gcc -S hello.c -march=rv32im -mabi=ilp32 -O2
  • rv2fox converts the generated RISC-V assembly to fox32 assembly
  • fox32asm makes an FXF binary

Generating bindings.c

bindings.kts is a little Kotlin script which generates bindings.c. Ensure you have Kotlin installed on your system, then run ./bindings.kts > bindings.c

TODO:

  • commandline argument passing
  • testcase sha256 program that hashes the ROM
  • rust support: rustc --emit asm --target riscv32im-unknown-none-elf test.rs -O