A blinky example for Caravel LiteX VexRiscv Core, written in Rust.
Run the following commands to install the toolchain:
cargo install cargo-binutils
rustup component add llvm-tools-preview
rustup target add riscv32i-unknown-none-elf
pip install bincopy
cargo objcopy --release -- -O ihex firmware.hex
cargo objcopy --release -- -O binary firmware.bin
bincopy convert -i binary -o verilog_vmem firmware.bin firmware.vmem
Note: we use binary as the intermediate format as we need to relocate the code offset from 0x10000000 to 0x00000000.
cargo objdump --release -- -d -S -C
Copyright (C) 2023 Uri Shaked. Release under the Apache 2.0 LICENSE.