forked from sinara-hw/assembly
Compare commits
10 Commits
6d46ed7150
...
6efbbacf09
Author | SHA1 | Date |
---|---|---|
morgan | 6efbbacf09 | |
mwojcik | 250d759f05 | |
Egor Savkin | adf516d310 | |
Simon Renblad | c45105e56b | |
Egor Savkin | 2e14232474 | |
mwojcik | d71bc3a57e | |
Egor Savkin | 01d479eba3 | |
Egor Savkin | 579749d114 | |
Egor Savkin | d8ba6b94ae | |
Egor Savkin | 22222ebdbf |
|
@ -41,7 +41,7 @@ mkdir <variant>
|
||||||
cd <variant>/
|
cd <variant>/
|
||||||
nix develop github:m-labs/artiq\?ref=release-8#boards
|
nix develop github:m-labs/artiq\?ref=release-8#boards
|
||||||
# master/standalone only
|
# master/standalone only
|
||||||
artiq_mkfs -s ip 192.168.1.75 kasli.config
|
artiq_mkfs -s ip 192.168.1.75/24 kasli.config
|
||||||
artiq_flash storage -f kasli.config
|
artiq_flash storage -f kasli.config
|
||||||
artiq_ddb_template -o device_db.py <variant>.json
|
artiq_ddb_template -o device_db.py <variant>.json
|
||||||
python -m artiq.gateware.targets.kasli <variant>.json
|
python -m artiq.gateware.targets.kasli <variant>.json
|
||||||
|
|
|
@ -8,9 +8,10 @@
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"type": "mirny",
|
"type": "mirny",
|
||||||
"almazny": true, // for mirny with almazny only
|
"almazny": true, // for mirny with almazny only
|
||||||
|
"almazny_hw_rev": "v1.2", // optional, must be provided for legacy (<=v1.1) Almazny
|
||||||
"ports": [<port num>],
|
"ports": [<port num>],
|
||||||
"clk_sel": 2, // optional
|
"clk_sel": "mmcx", // optional
|
||||||
"refclk": 125e6 // optional
|
"refclk": 125e6 // optional
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
|
@ -62,7 +62,7 @@ With newer firmware with USB serial console:
|
||||||
|
|
||||||
1. Connect the Stabilizer to power.
|
1. Connect the Stabilizer to power.
|
||||||
2. Connect USB cable to the Stabilizer.
|
2. Connect USB cable to the Stabilizer.
|
||||||
3. Connect with a serial console emulator, usually at ``/dev/ttyACM0``.
|
3. Connect with a serial console emulator, for example ``python -m serial /dev/ttyACM0``.
|
||||||
4. Input ``platform dfu`` in the console.
|
4. Input ``platform dfu`` in the console.
|
||||||
|
|
||||||
And for both:
|
And for both:
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
{
|
{
|
||||||
"type": "fastino",
|
"type": "fastino",
|
||||||
"hw_rev": "v1.2", // optional
|
"hw_rev": "v1.2", // optional
|
||||||
|
"log2_width": <0 to 5, default 0>, // pack multiple (in powers of 2) DAC channels into one RTIO write
|
||||||
"ports": [<port num>]
|
"ports": [<port num>]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
|
@ -91,8 +91,7 @@ After you received credentials from us, we strongly recommend changing the passw
|
||||||
`afws_client <username> passwd` command. This command will ask you for existing password and new desired password.
|
`afws_client <username> passwd` command. This command will ask you for existing password and new desired password.
|
||||||
|
|
||||||
The passwords are stored in a hashed way (i.e. cannot be decrypted back), however it's your responsibility to choose good passwords.
|
The passwords are stored in a hashed way (i.e. cannot be decrypted back), however it's your responsibility to choose good passwords.
|
||||||
Just keep in mind, that password may contain only alpha-numeric symbols and underscore `[a-zA-Z0-9_]`. If it contains other symbols,
|
Just keep in mind, that password may contain only alpha-numeric symbols and underscore `[a-zA-Z0-9_]`.
|
||||||
they may be silently ignored and you will not be able to log in.
|
|
||||||
If you cannot login, we may reset your password if you email us at helpdesk.
|
If you cannot login, we may reset your password if you email us at helpdesk.
|
||||||
|
|
||||||
#### Get variants
|
#### Get variants
|
||||||
|
|
|
@ -32,6 +32,14 @@ git checkout release-6 # or release-5...
|
||||||
cd ..
|
cd ..
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Keep in mind that ARTIQ-6 scripts have been removed in `nix-scripts`, so you may need to checkout the last commit that still has them.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
cd nix-scripts
|
||||||
|
git checkout c590df48e0553a670e18ebf9d02047bfcfddb40d
|
||||||
|
cd ..
|
||||||
|
```
|
||||||
|
|
||||||
## Setting up the environment and building firmware
|
## Setting up the environment and building firmware
|
||||||
|
|
||||||
Within ``fish`` shell (others may not work correctly), set up the ARTIQ build environment:
|
Within ``fish`` shell (others may not work correctly), set up the ARTIQ build environment:
|
||||||
|
@ -54,8 +62,7 @@ artiq_flash -V <variant> -d artiq_kasli --srcbuild
|
||||||
There's a slight discrepancy from usual command - ``-V <variant>`` option is not present in ARTIQ-7+, but it is necessary here.
|
There's a slight discrepancy from usual command - ``-V <variant>`` option is not present in ARTIQ-7+, but it is necessary here.
|
||||||
|
|
||||||
If you want to send the binaries to a customer, there's no need packing up the whole build directory - only `top.bit`, `bootloader.bin`
|
If you want to send the binaries to a customer, there's no need packing up the whole build directory - only `top.bit`, `bootloader.bin`
|
||||||
and `runtime.elf/fbi` or `satman.elf/fbi` are necessary. You can use the `prep_pkg.py` script from extras to package
|
and `runtime.elf/fbi` or `satman.elf/fbi` are necessary. You can use the `prep_pkg.py` script from extras to package them up neatly into a zip file for distributions:
|
||||||
them up neatly into a zip file for distributions:
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
python prep_pkg.py -v <variant> -d artiq_kasli/
|
python prep_pkg.py -v <variant> -d artiq_kasli/
|
||||||
|
|
|
@ -8,14 +8,15 @@ a-la `I can't connect, please help`.
|
||||||
1. `device_db.py` has misleading `core_addr` address.
|
1. `device_db.py` has misleading `core_addr` address.
|
||||||
2. PC and the crate are in different subnets. They should be in the same network. Also you may want to directly attach the Kasli to the PC.
|
2. PC and the crate are in different subnets. They should be in the same network. Also you may want to directly attach the Kasli to the PC.
|
||||||
3. Network restrictions/problems on your router, either by IP, MAC, protocols or anything else.
|
3. Network restrictions/problems on your router, either by IP, MAC, protocols or anything else.
|
||||||
4. Wrong configuration of the Kasli. Change IP or MAC address to correspond your network. For ARTIQ-8, add
|
4. Wrong configuration of the Kasli. Change IP or MAC address to correspond your network. For ARTIQ-8 and later, add
|
||||||
network mask to the `ip` setting on Kasli, like `192.168.1.75/24`.
|
network mask to the `ip` setting on Kasli (not applicable for Kasli-SoC), like `192.168.1.75/24`.
|
||||||
5. Incompatible Ethernet cables/SFP RJ45. Try different cables and SFP adapters.
|
5. Incompatible Ethernet cables/SFP RJ45. Try different cables and SFP adapters.
|
||||||
We usually test them with CAT6 cables, but lower categories should be supported too.
|
We usually test them with CAT6 cables, but lower categories should be supported too.
|
||||||
6. SFP or Ethernet are not pushed til the end.
|
6. SFP or Ethernet are not pushed til the end.
|
||||||
7. Some weird bugs in Vivado, leading to not working SFP on certain combinations of builds and Kaslis (very rare)
|
7. Some weird bugs in Vivado, leading to not working SFP on certain combinations of builds and Kaslis (very rare)
|
||||||
8. Running configured for external reference Kasli without external reference clock signal
|
8. Running configured for external reference Kasli without external reference clock signal
|
||||||
9. Using legacy firmware with newer hardware. ARTIQ-6 doesn't support Kasli v2.0.2
|
9. Using legacy firmware with newer hardware. ARTIQ-6 doesn't support Kasli v2.0.2
|
||||||
|
10. Some other device in your network already reserved the configured IP address.
|
||||||
|
|
||||||
## Ways to diagnose
|
## Ways to diagnose
|
||||||
|
|
||||||
|
@ -27,6 +28,8 @@ a-la `I can't connect, please help`.
|
||||||
5. `nmap` and `arp` to scan your network to help your Kasli get discovered. May be restricted in your network.
|
5. `nmap` and `arp` to scan your network to help your Kasli get discovered. May be restricted in your network.
|
||||||
6. Directly connect your Kasli to the PC via Ethernet and set up networking on the PC: `ip addr change 192.168.1.0/24 dev eth0`
|
6. Directly connect your Kasli to the PC via Ethernet and set up networking on the PC: `ip addr change 192.168.1.0/24 dev eth0`
|
||||||
7. Become a router and capture all the packets when your Kasli tries to connect to the network.
|
7. Become a router and capture all the packets when your Kasli tries to connect to the network.
|
||||||
|
8. Turn off the Carrier/Kasli and `ping` the configured IP address. If it pings, then you'll need either set different
|
||||||
|
IP address on your Carrier or somehow deal with that other device - remove, assign different address, move to other network etc.
|
||||||
|
|
||||||
|
|
||||||
## Direct connection
|
## Direct connection
|
||||||
|
|
|
@ -33,7 +33,13 @@ by Vivado.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
4. Enable flakes in Nix by e.g. adding `experimental-features = nix-command flakes` to nix.conf (for example `~/.config/nix/nix.conf`).
|
4. Enable flakes in Nix and add `/opt` to sandbox e.g. adding following to the `nix.conf` (for example `~/.config/nix/nix.conf` or `/etc/nix/nix.conf`):
|
||||||
|
```
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
extra-sandbox-paths = /opt
|
||||||
|
```
|
||||||
|
5. On Ubuntu, the Nix will conflict with Apparmor. You'll need to disable Apparmor for Nix,
|
||||||
|
or for the whole system (you can also delete Apparmor completely, but be careful with it).
|
||||||
|
|
||||||
From here, you should be able to enter ARTIQ development shell directly from URL, or by cloning the repository.
|
From here, you should be able to enter ARTIQ development shell directly from URL, or by cloning the repository.
|
||||||
The later will allow you to edit the source code in case of need.
|
The later will allow you to edit the source code in case of need.
|
||||||
|
|
|
@ -15,6 +15,8 @@ until its fully loaded.
|
||||||
|
|
||||||
### Older Nix and other Linuxes
|
### Older Nix and other Linuxes
|
||||||
|
|
||||||
|
Ensure your user is in `dialout` group.
|
||||||
|
|
||||||
1. Install `cutecom` via `nix-shell -p cutecom` or your package manager
|
1. Install `cutecom` via `nix-shell -p cutecom` or your package manager
|
||||||
2. Run `cutecom` and follow settings from the picture: ![uart_cutecom.png](../img/uart_cutecom.png)
|
2. Run `cutecom` and follow settings from the picture: ![uart_cutecom.png](../img/uart_cutecom.png)
|
||||||
3. Restart the device with `artiq_flash start`, or by power-cycling it (wait 30 seconds before turning on)
|
3. Restart the device with `artiq_flash start`, or by power-cycling it (wait 30 seconds before turning on)
|
||||||
|
|
Loading…
Reference in New Issue