Bare-metal Rust on the Xilinx Zynq ZC706 devkit
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Stewart Mackenzie 2e8d291ee7 running code causes board to fail in an unrecoverable manner пре 1 месец
.cargo update rust + smoltcp пре 3 месеци
experiments libboard_zc706: move main.rs into experiments bin crate пре 2 месеци
libboard_zc706 libboard_zc706: move main.rs into experiments bin crate пре 2 месеци
libboard_zynq libboard_zynq::flash: use only 32-bit spi words in program() пре 2 месеци
libcortex_a9 split into lib{register, cortex_a9, board_zynq, board_zc706} crates пре 2 месеци
libregister split into lib{register, cortex_a9, board_zynq, board_zc706} crates пре 2 месеци
openocd running code causes board to fail in an unrecoverable manner пре 1 месец
.gitignore add .gitignore to ignore the generated target directory пре 1 месец
Cargo.lock libboard_zc706: move main.rs into experiments bin crate пре 2 месеци
Cargo.toml libboard_zc706: move main.rs into experiments bin crate пре 2 месеци
README.md README: fix openocd not finding files пре 6 месеци
armv7-none-eabihf.json define custom target, use with cargo-xbuild пре 6 месеци
build.rs PoC: boot, uart output in qemu пре 9 месеци
channel-rust-nightly.toml update rust + smoltcp пре 3 месеци
default.nix split into lib{register, cortex_a9, board_zynq, board_zc706} crates пре 2 месеци
link.x link.x: fix __stack_start пре 5 месеци
qemu.gdb PoC: boot, uart output in qemu пре 9 месеци
runner.sh PoC: boot, uart output in qemu пре 9 месеци
shell.nix default.nix: build zc706 пре 5 месеци

README.md

Build

nix-shell --command "cargo xbuild --release"

Debug

Using the Xilinx toolchain

Tested with the ZC706 board.

Run the Xilinx Microprocessor Debugger:

/opt/Xilinx/14.7/ISE_DS/EDK/bin/lin64/xmd

Connect to target (given it is connected and you have permissions):

connect arm hw

Leave xmd running.

Start the Xilinx version of the GNU debugger with your latest build:

/opt/Xilinx/14.7/ISE_DS/EDK/gnu/arm/lin/bin/arm-xilinx-linux-gnueabi-gdb zc706

Connect the debugger to xmd over TCP on localhost:

target remote :1234

Proceed using gdb with load, c

Using OpenOCD

Running on the ZC706

nix-shell --command "cargo xbuild --release"
cd openocd
openocd -f zc706.cfg

Running on the Cora Z7-10

nix-shell --command "cargo xbuild --release --no-default-features --features=target_cora_z7_10"
cd openocd
openocd -f cora-z7-10.cfg