Bare-metal Rust on Zynq-7000
Go to file
Astro e5881a14ad eth rx: descriptors/buffers as refs
avoid moving these after their addresses have been written to the qbar
2019-06-21 00:58:18 +02:00
.cargo extend linker script 2019-05-27 22:38:10 +02:00
src eth rx: descriptors/buffers as refs 2019-06-21 00:58:18 +02:00
build.rs PoC: boot, uart output in qemu 2019-05-05 14:56:23 +02:00
Cargo.lock link again compiler_builtins 2019-06-09 01:00:58 +02:00
Cargo.toml link again compiler_builtins 2019-06-09 01:00:58 +02:00
cora-z7-10.cfg run with the cora z7-10 2019-05-25 02:38:48 +02:00
default.nix PoC: boot, uart output in qemu 2019-05-05 14:56:23 +02:00
link.x mmu: align l1_table 2019-06-18 19:18:47 +02:00
qemu.gdb PoC: boot, uart output in qemu 2019-05-05 14:56:23 +02:00
README.md run with the cora z7-10 2019-05-25 02:38:48 +02:00
runner.sh PoC: boot, uart output in qemu 2019-05-05 14:56:23 +02:00
shell.nix PoC: boot, uart output in qemu 2019-05-05 14:56:23 +02:00

Build

nix-shell --command "cargo build --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

Resources for the ZC706

https://devel.rtems.org/wiki/Debugging/OpenOCD/Xilinx_Zynq https://github.com/nathanrossi/meta-random/tree/master/openocd-zynq

Running on the Cora Z7-10

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