Minimalist bare metal Rust firmware for Red Pitaya
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Sebastien Bourdeauducq 52fb824f22 update migen-axi, use ps_cd_sys 11 months ago
src update migen-axi, use ps_cd_sys 11 months ago
.gitignore initial commit 3 years ago
LICENSE initial commit 3 years ago
README.md development setup 1 year ago
flake.lock update migen-axi, use ps_cd_sys 11 months ago
flake.nix update migen-axi, use ps_cd_sys 11 months ago
local_run.sh move to flakes 1 year ago
remote_run.sh development setup 1 year ago

README.md

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/.