* Compiled unlzma with -Oz and enable LTO. * Changed one unwrap to manual handling to remove fmt code. * Implemented custom panic handler with minimal code.
|8 months ago|
|examples||9 months ago|
|openocd||10 months ago|
|src||8 months ago|
|.gitignore||12 months ago|
|LICENSE||9 months ago|
|README.md||9 months ago|
|channel-rust-nightly.toml||9 months ago|
|default.nix||9 months ago|
|local_run.sh||10 months ago|
|mkbootimage.nix||12 months ago|
|remote_run.sh||10 months ago|
|rustPlatform.nix||9 months ago|
|shell.nix||10 months ago|
boot.bin"binary distribution" and place it at the root of a FAT-formatted SD card.
config.txtconfiguration file at the root of the SD card containing
key=valuepairs on each line. Use the
mackeys to respectively set the IPv4, IPv6 and MAC address of the board. Configuring an IPv6 address is entirely optional. If these keys are not found, the firmware will use default values that may or may not be compatible with your network.
"target": "cortexa9"in the arguments of the core device.
Configuring the device is done using the
config.txt text file at the root of the SD card, plus the contents of the
config folder. When searching for a configuration key, the firmware first looks for a file named
/config/[key].bin and, if it exists, returns the contents of that file. If not, it looks into
/config.txt, which contains a list of
key=value pairs, one per line. The
config folder allows configuration values that consist in binary data, such as the startup kernel.
The following configuration keys are available:
mac: Ethernet MAC address.
ip: IPv4 address.
ip6: IPv6 address.
startup: startup kernel in ELF format (as produced by
rtioclk: source of RTIO clock; valid values are
Configure Nix channels:
nix-channel --add https://nixbld.m-labs.hk/channel/custom/artiq/fast-beta/artiq-fast nix-channel --update
Note: 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:
nix-build -A zc706-simple-jtag # or zc706-nist_qc2-jtag or zc706-nist_clock-jtag ./remote_run.sh
Impure incremental build and execution on a remote JTAG server:
nix-shell cd src gateware/zc706.py -g ../build/gateware # build gateware make # build firmware cd .. ./remote_run.sh -i
nixbld.m-labs.hkbinary substituter can also be used here (see the ARTIQ manual for the public key and instructions).
Copyright (C) 2019-2020 M-Labs Limited.
ARTIQ 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.
ARTIQ 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 ARTIQ. If not, see http://www.gnu.org/licenses/.