tillitis-key/hw/application_fpga/apps
Jonas Thörnblad 13767ee7df
Add loopbackapp for app debugging using physical TKey with QEMU
This app takes data coming in on any of the normal USB endpoints
like CDC and FIDO (or CCID) and outputs the data on the DEBUG
endpoint.

Using the scripts (tkey_to_udp_linux.py, tkey_to_udp_win.py) in
QEMU (tk1 branch) under tools/tk1, the data from the DEBUG
endpoint can be read and sent over the network to the script
udp_to_qemu_linux.py that feeds it to QEMU.
2025-08-28 17:01:07 +02:00
..
defaultapp build: Use only one Makefile for apps 2025-05-22 09:31:50 +02:00
include build: Use only one Makefile for apps 2025-05-22 09:31:50 +02:00
loopbackapp Add loopbackapp for app debugging using physical TKey with QEMU 2025-08-28 17:01:07 +02:00
reset_test build: Use only one Makefile for apps 2025-05-22 09:31:50 +02:00
testapp testapp: Update to 24 MHz clock 2025-05-22 09:31:54 +02:00
testloadapp build: Use only one Makefile for apps 2025-05-22 09:31:50 +02:00
Makefile Add loopbackapp for app debugging using physical TKey with QEMU 2025-08-28 17:01:07 +02:00
README.md build: Use only one Makefile for apps 2025-05-22 09:31:50 +02:00
syscall.S build: Use only one Makefile for apps 2025-05-22 09:31:50 +02:00

Test applications

  • defaultapp: Immediately resets the TKey with the intention to start an app from the client, replicating the behaviour of earlier generations.
  • testapp: Runs through a couple of tests that are now impossible to do in the testfw.
  • reset_test: Interactively test different reset scenarios.
  • testloadapp: Interactively test management app things like installing an app (hardcoded for a small happy blinking app, see blink.h for the entire binary!) and to test verified boot.

Build

$ make

will build all the .elf and .bin files on the top level.

Use

Use tkey-runapp from tkey-devtools to load the apps:

$ tkey-runapp testapp.bin

All of these test apps are controlled through the USB CDC, typically by running picocom or similar terminal program, like:

$ picocom /dev/ttyACM1