Minimalist bare metal Rust firmware for Red Pitaya
Go to file
2023-01-06 10:02:25 +08:00
src update migen-axi, use ps_cd_sys 2023-01-06 10:02:25 +08:00
.gitignore initial commit 2020-10-14 15:56:10 +08:00
flake.lock update migen-axi, use ps_cd_sys 2023-01-06 10:02:25 +08:00
flake.nix update migen-axi, use ps_cd_sys 2023-01-06 10:02:25 +08:00
LICENSE initial commit 2020-10-14 15:56:10 +08:00
local_run.sh move to flakes 2022-08-29 22:14:58 +08:00
README.md development setup 2022-08-30 18:59:53 +08:00
remote_run.sh development setup 2022-08-30 18:59:53 +08:00

Rust Pitaya

Minimalist bare metal Rust firmware for Red Pitaya.

Development instructions

Pure build with Nix and execution on a remote JTAG server:

nix build .#rust-pitaya-jtag
./remote_run.sh

Impure incremental build and execution on a remote JTAG server:

nix develop
cd src
gateware/rust-pitaya.py -g ../build/gateware  # build gateware
make                                          # build firmware
cd ..
./remote_run.sh -i

Notes:

  • The impure build process is also compatible with non-Nix systems.
  • If the board is connected to the local machine, use the local_run.sh script.
  • Due to questionable Zynq design decisions, JTAG boot works only once per power cycle. A good workaround is to power the Red Pitaya through a uhubctl-compatible USB hub and boot with a command such as: ssh rpi-3.m-labs.hk "uhubctl -a off -p 4; sleep 2; uhubctl -a on -p 4; sleep 2" && ./remote_run.sh -i

License

Copyright (C) 2019-2022 M-Labs Limited.

Rust Pitaya is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Rust Pitaya is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with Rust Pitaya. If not, see http://www.gnu.org/licenses/.