Rust Pitaya =========== Minimalist bare metal Rust firmware for Red Pitaya. Development instructions ------------------------ Pure build with Nix and execution on a remote JTAG server: ```shell nix build .#rust-pitaya-jtag ./remote_run.sh ``` Impure incremental build and execution on a remote JTAG server: ```shell 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 .