mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2025-12-11 23:06:04 -05:00
doc: Update Building & flashing docs
- Point out where to find tools. - Add some description that we assume a Linux dist. - Move the make targets around: make flash builds and flashes the entire thing so someone who just want to exactly that can use it right away. - Explain what kind of hardware the USB controller is. - Add a description on how to be able to use chprog without being root when running chprog.
This commit is contained in:
parent
ed9395c832
commit
f4f8c9e6c6
1 changed files with 35 additions and 24 deletions
59
README.md
59
README.md
|
|
@ -87,35 +87,30 @@ but keep our own copy of it in the repo. See below.
|
||||||
|
|
||||||
## Building & flashing
|
## Building & flashing
|
||||||
|
|
||||||
|
These instructions assume you're using a Linux distribution. Most of
|
||||||
|
them also assume you're using our OCI image
|
||||||
|
[tkey-builder](https://ghcr.io/tillitis/tkey-builder). If you want to
|
||||||
|
run native tools, look in `contrib/Dockerfile` and
|
||||||
|
`contrib/buildtools.sh` for the tools and versions to use.
|
||||||
|
|
||||||
### FPGA
|
### FPGA
|
||||||
|
|
||||||
You need a [TKey
|
You need a [TKey
|
||||||
Unlocked](https://shop.tillitis.se/products/tkey-not-provisioned) and
|
Unlocked](https://shop.tillitis.se/products/tkey-not-provisioned), a
|
||||||
a [TKey Programmer
|
[the TP1 TKey Programmer
|
||||||
Board](https://shop.tillitis.se/products/tkey-dev-kit) to use this on
|
board](https://shop.tillitis.se/products/tkey-dev-kit), and probably a
|
||||||
real hardware.
|
[Blinkinlabs CH55x Reset
|
||||||
|
Controller](https://shop-nl.blinkinlabs.com/products/ch55x-reset-controller)
|
||||||
|
to use this on real hardware.
|
||||||
|
|
||||||
Building is probably easiest using make and Podman. Do this to see all
|
Building is probably easiest using make and Podman.
|
||||||
targets:
|
|
||||||
|
To build everything and then flash the resulting bitstream with the
|
||||||
|
testloadapp in app slot 0 and the partition table copies in one go,
|
||||||
|
place the TKey Unlocked in the TP1, then do:
|
||||||
|
|
||||||
```
|
```
|
||||||
cd contrib
|
cd contrib
|
||||||
make
|
|
||||||
```
|
|
||||||
|
|
||||||
Build the entire FPGA bitstream, which includes the firmware, using
|
|
||||||
Podman:
|
|
||||||
|
|
||||||
```
|
|
||||||
cd contrib
|
|
||||||
make run-make
|
|
||||||
```
|
|
||||||
|
|
||||||
To flash the bitstream, the testloadapp in app slot 0 and the
|
|
||||||
partition table copies in one go, place the TKey Unlocked in the TP1,
|
|
||||||
then do:
|
|
||||||
|
|
||||||
```
|
|
||||||
make flash
|
make flash
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -123,11 +118,21 @@ This uses the make target `prog_flash` in
|
||||||
`hw/application_fpga/Makefile` behind the scenes, but mounts your TP1
|
`hw/application_fpga/Makefile` behind the scenes, but mounts your TP1
|
||||||
device into the container.
|
device into the container.
|
||||||
|
|
||||||
|
To see all targets:
|
||||||
|
|
||||||
|
```
|
||||||
|
cd contrib
|
||||||
|
make
|
||||||
|
```
|
||||||
|
|
||||||
See the [Tillitis Developer Handbook](https://dev.tillitis.se) for
|
See the [Tillitis Developer Handbook](https://dev.tillitis.se) for
|
||||||
more.
|
more.
|
||||||
|
|
||||||
### USB Controller
|
### USB Controller
|
||||||
|
|
||||||
|
The TKey uses a WCH CH552 chip as a USB controller. It has its own
|
||||||
|
firmware.
|
||||||
|
|
||||||
Build:
|
Build:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
@ -137,8 +142,8 @@ cd hw/usb_interface/ch552_fw
|
||||||
make
|
make
|
||||||
```
|
```
|
||||||
|
|
||||||
To flash the controller you need hardware like the [Blinkinlabs CH55x
|
To flash the controller with new firmware you need hardware like the
|
||||||
Reset
|
[Blinkinlabs CH55x Reset
|
||||||
Controller](https://shop-nl.blinkinlabs.com/products/ch55x-reset-controller)
|
Controller](https://shop-nl.blinkinlabs.com/products/ch55x-reset-controller)
|
||||||
and a USB-A to USB-C converter.
|
and a USB-A to USB-C converter.
|
||||||
|
|
||||||
|
|
@ -146,6 +151,12 @@ and a USB-A to USB-C converter.
|
||||||
|
|
||||||
You also need [chprog](https://github.com/ole00/chprog).
|
You also need [chprog](https://github.com/ole00/chprog).
|
||||||
|
|
||||||
|
The bootloader identifies itself as USB VID 4348, PID 55e0. To be able
|
||||||
|
to access it and run `chprog` without root you need to allow your user
|
||||||
|
to access it. Place `contrib/99-tillitis.rules` in `/etc/udev/rules.d`
|
||||||
|
and run `udevadm control --reload`. Now you can add your user to the
|
||||||
|
`dialout` group and access it.
|
||||||
|
|
||||||
1. Connect the Reset Controller to your computer through "DUT\_IN"/"PC".
|
1. Connect the Reset Controller to your computer through "DUT\_IN"/"PC".
|
||||||
2. Connect the TKey to "DUT\_OUT"/"DUT".
|
2. Connect the TKey to "DUT\_OUT"/"DUT".
|
||||||
3. Press the "Bootloader" button.
|
3. Press the "Bootloader" button.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue