62 lines
1.8 KiB
Markdown
62 lines
1.8 KiB
Markdown
|
Rust Pitaya
|
||
|
===========
|
||
|
|
||
|
Minimalist bare metal Rust firmware for Red Pitaya.
|
||
|
|
||
|
Development instructions
|
||
|
------------------------
|
||
|
|
||
|
Configure Nix channels:
|
||
|
|
||
|
```shell
|
||
|
nix-channel --add https://nixbld.m-labs.hk/channel/custom/artiq/fast-beta/artiq-fast
|
||
|
nix-channel --update
|
||
|
```
|
||
|
|
||
|
Notes:
|
||
|
|
||
|
- Rust Pitaya does not depend on ARTIQ but uses some packages available in the ARTIQ channel.
|
||
|
- If you are using Nix channels the first time, you need to be aware of this bug: https://github.com/NixOS/nix/issues/3831.
|
||
|
|
||
|
Pure build with Nix and execution on a remote JTAG server:
|
||
|
|
||
|
```shell
|
||
|
nix-build -A rust-pitaya-jtag
|
||
|
./remote_run.sh
|
||
|
```
|
||
|
|
||
|
Impure incremental build and execution on a remote JTAG server:
|
||
|
|
||
|
```shell
|
||
|
nix-shell
|
||
|
cd src
|
||
|
gateware/rust-pitaya.py -g ../build/gateware # build gateware
|
||
|
make # build firmware
|
||
|
cd ..
|
||
|
./remote_run.sh -i
|
||
|
```
|
||
|
|
||
|
Notes:
|
||
|
|
||
|
- This is developed with Nixpkgs 20.09, and the ``nixbld.m-labs.hk`` binary substituter can also be used here (see the ARTIQ manual for the public key and instructions).
|
||
|
- 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.
|
||
|
|
||
|
License
|
||
|
-------
|
||
|
|
||
|
Copyright (C) 2019-2020 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/>.
|