diff --git a/src/build_test_firmware.md b/src/build_test_firmware.md index b90b121..66d4a18 100644 --- a/src/build_test_firmware.md +++ b/src/build_test_firmware.md @@ -9,26 +9,20 @@ 3. Test hardware 4. Create a flash-drive with `device_db.py` file for customers (FAT32) -### CLI commands +### CLI commands - build and flash ```shell mkdir cd / -git clone git@github.com:m-labs/artiq.git -cd artiq/ -git checkout origin/release-7 -nix develop +nix develop github:m-labs/artiq\?ref=release-7 +# master/standalone only artiq_mkfs -s ip 192.168.1.75 kasli.config artiq_flash storage -f kasli.config artiq_ddb_template -o device_db.py .json python -m artiq.gateware.targets.kasli_generic .json artiq_flash --srcbuild -d artiq_kasli// -artiq_sinara_tester ``` -Follow `artiq_sinara_tester` instructions for testing the hardware. For more detailed information, -you can use this book's pages, or if there is no instruction for testing your hardware, please add them to this book. - ## Kasli-SoC (zynq) ### Checklist @@ -41,26 +35,31 @@ you can use this book's pages, or if there is no instruction for testing your ha 6. Test hardware 7. Create a flash-drive with `device_db.py` file for customers (FAT32) -### CLI commands +### CLI commands - build and flash ```shell mkdir cd / -git clone gitea@git.m-labs.hk:M-Labs/artiq-zynq.git -cd artiq-zynq/ -git checkout origin/release-7 -nix develop +nix develop git+https://git.m-labs.hk/m-labs/artiq-zynq\?ref=release-7 artiq_ddb_template -o device_db.py .json -nix build -L --impure --expr 'let fl = builtins.getFlake "git+file://"; in (fl.makeArtiqZynqPackage {target="kasli_soc"; variant="[master, standalone, satellite]"; json=;}).kasli_soc-[master, standalone, satellite]-sd' +nix build -L --impure --expr 'let fl = builtins.getFlake "git+https://git.m-labs.hk/m-labs/artiq-zynq?ref=release-7"; in (fl.makeArtiqZynqPackage {target="kasli_soc"; variant="[master, standalone, satellite]"; json=;}).kasli_soc-[master, standalone, satellite]-sd' # copy `results/boot.bin` to the SD card # insert SD card to the Kasli-SoC and boot -artiq_coremgmt -D 192.168.1.56 config write -s ip 192.168.1.75 # or just place extra/CONFIG.TXT near the boot.bin on SD card -# update firmware +artiq_coremgmt -D 192.168.1.56 config write -s ip 192.168.1.75 # or just place extra CONFIG.TXT near the boot.bin on SD card +# update firmware (alternative to copy to SD, if ARTIQ already running) artiq_coremgmt config write -f boot result/boot.bin # reboot via power supply +``` + +## Testing (common) + +``` artiq_sinara_tester ``` +Follow `artiq_sinara_tester` instructions for testing the hardware. For more detailed information, +you can use this book's pages, or if there is no instruction for testing your hardware, please add them to this book. + ### Known issues * [artiq-zynq#197](https://git.m-labs.hk/M-Labs/artiq-zynq/issues/197) - some cards (Sampler, Mirny, Zotino and others) @@ -71,7 +70,7 @@ artiq_sinara_tester 1. Change `base` in JSON to the respective `master` or `satellite`, add `"enable_sata_drtio": true` if needed to the master, remove `core_addr` in satellites 2. Build and flash firmware for each crate with JSONs (see instructions above) -3. Create composed `device_db.py`: `artiq_ddb_template -o device_db.py -s 1 .json -s 2 .json .json` +3. Create composed `device_db.py`: e.g. `artiq_ddb_template -o device_db.py -s 1 .json -s 2 .json .json` 4. Connect satellite crates to the master respective to their numbers via the fiber (see example picture) ![](img/master_sat_connection.jpg) 5. Ethernet is needed only for master