mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2024-12-17 20:04:30 -05:00
3bc2453287
- NOTE: This is an optional feature, not built by default. Not included in the tk1 for sale at Tillitis shop. - This makes it possible to interface the SPI flash onboard TKey. - To include the SPI master in the build, use `make application_fpga.bin YOSYS_FLAG=-DINCLUDE_SPI_MASTER`. Signed-off-by: Joachim Strömbergson <joachim@assured.se>
73 lines
2.8 KiB
Makefile
73 lines
2.8 KiB
Makefile
# Copyright (C) 2024 - Tillitis AB
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
# image produced by build-image targets
|
|
BUILDIMAGE=tkey-builder-local
|
|
|
|
# default image used when running a container
|
|
IMAGE=ghcr.io/tillitis/tkey-builder:4
|
|
|
|
all:
|
|
@echo "Targets:"
|
|
@echo "run Run a shell using image '$(IMAGE)' (Podman)"
|
|
@echo "run-make Build the FPGA bitstream using image '$(IMAGE)' (Podman)"
|
|
@echo "run-tb Run all the testbenches using image '$(IMAGE)' (Podman)"
|
|
@echo "run-make-no-clean Like run-make but without cleaning first, useful for iterative firmware dev"
|
|
@echo "run-make-clean_fw Like run-make but cleans only firmware"
|
|
@echo "flash Program the SPI flash on the TKey - needs an existing bitstream"
|
|
@echo "pull Pull down the image '$(IMAGE)' (Podman)"
|
|
@echo "build-image Build a toolchain image named '$(BUILDIMAGE)' (Podman)"
|
|
@echo " A newly built image can be used like: make IMAGE=$(BUILDIMAGE) run"
|
|
@echo "docker-run Run a shell using image '$(IMAGE)' (Docker)"
|
|
@echo "docker-build-image Build a toolchain image named '$(BUILDIMAGE)' (Docker)"
|
|
|
|
run:
|
|
podman run --rm --mount type=bind,source="`pwd`/../",target=/build -w /build -it \
|
|
$(IMAGE) /usr/bin/bash
|
|
|
|
docker-run:
|
|
docker run --rm --mount type=bind,source="`pwd`/../",target=/build -w /build -it \
|
|
$(IMAGE) /usr/bin/bash
|
|
|
|
run-make:
|
|
podman run --rm --mount type=bind,source="`pwd`/../hw/application_fpga",target=/build -w /build -it \
|
|
$(IMAGE) make clean application_fpga.bin
|
|
|
|
run-make-spi:
|
|
podman run --rm --mount type=bind,source="`pwd`/../hw/application_fpga",target=/build -w /build -it \
|
|
$(IMAGE) make clean application_fpga.bin YOSYS_FLAG=-DINCLUDE_SPI_MASTER
|
|
|
|
|
|
run-tb:
|
|
podman run --rm --mount type=bind,source="`pwd`/../hw/application_fpga",target=/build -w /build -it \
|
|
$(IMAGE) make tb
|
|
|
|
run-make-testfw:
|
|
podman run --rm --mount type=bind,source="`pwd`/../hw/application_fpga",target=/build -w /build -it \
|
|
$(IMAGE) make clean application_fpga_testfw.bin
|
|
|
|
run-make-no-clean:
|
|
podman run --rm --mount type=bind,source="`pwd`/../hw/application_fpga",target=/build -w /build -it \
|
|
$(IMAGE) make application_fpga.bin
|
|
|
|
run-make-clean_fw:
|
|
podman run --rm --mount type=bind,source="`pwd`/../hw/application_fpga",target=/build -w /build -it \
|
|
$(IMAGE) make clean_fw application_fpga.bin
|
|
|
|
flash:
|
|
podman run --rm \
|
|
--device /dev/bus/usb/$(lsusb | grep -m 1 1209:8886 | awk '{ printf "%s/%s", $2, substr($4,1,3) }') \
|
|
--mount type=bind,source="`pwd`/../hw/application_fpga",target=/build \
|
|
-w /build/hw/application_fpga \
|
|
-it $(IMAGE) tillitis-iceprog /build/application_fpga.bin
|
|
|
|
|
|
pull:
|
|
podman pull $(IMAGE)
|
|
|
|
build-image:
|
|
podman build -t $(BUILDIMAGE) .
|
|
|
|
docker-build-image:
|
|
docker build -t $(BUILDIMAGE) .
|