mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2024-10-01 01:45:38 -04:00
0590445f3d
The testbenches live in their own Makefiles under hw/application_fpga/core/*/toolruns (except picorv32). Let's add a top-level target to build and run them. In order to run core testbenches, use cd hw/application_fpga make tb or if using Podman: cd contrib make run-tb to run the same target in a container.
68 lines
2.6 KiB
Makefile
68 lines
2.6 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:2
|
|
|
|
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-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) .
|