tillitis-key/hw/application_fpga/tools
Michael Cardell Widerkrantz 4ec58ce04c
tools: Prune and document tools
Add a tools/README.md.

Remove:

- create_flash_image.py: role now overtaken by tkeyimage which does
  more.
- reset-tk1: Leftover from when production_test was removed.

Rename:

- makehex.py: Moved up one level.
2025-05-20 17:12:46 +02:00
..
b2s tool: Introduce b2s tool to help compute BLAKE2s digests 2025-04-24 16:03:03 +02:00
tkeyimage tool: Rename partition_table to tkeyimage 2025-05-20 13:50:55 +02:00
tpt Revise UDI 2023-01-05 14:34:32 +01:00
app_bin_to_spram_hex.py Add script to split app into simulation ram 2024-11-28 16:10:00 +01:00
default_partition.bin fw: Add syscall TK1_SYSCALL_GET_APP_DATA 2025-05-15 14:03:04 +02:00
load_preloaded_app.sh tool: Add script to load pre-loaded app into flash 2025-04-24 16:03:03 +02:00
makehex.py tools: Prune and document tools 2025-05-20 17:12:46 +02:00
patch_uds_udi.py hw/tool: UDI/UDS storage 2024-04-03 11:27:00 +02:00
README.md tools: Prune and document tools 2025-05-20 17:12:46 +02:00
run_pnr.sh Add nextpnr flag '--exit-on-failed-target-frequency' 2024-11-22 15:47:42 +01:00

Tools

We have developed some tools necessary for the build.

  • app_bin_to_spram_hex.py: Script used to include a device app in a testbench simulation.

  • b2s: Compute and print a BLAKE2s digest over a file. Used for the digest of the app in app slot 0 included in the firmware.

  • default_partition.bin: Default partition table for the flash.

  • load_preloaded_app.sh: Script to load two copies of the partition table to flash and a pre-loaded to app slot 0 or 1. Needs default_partition.bin, generated with tkeyimage and the binary of the device app to load. Call like: ./load_preloaded_app 0 path/to/binary.

  • makehex.py: Used to build hex version of firmware ROM for FPGA bitstream build.

  • patch_uds_udi.py: Script used to patch in the Unique Device Secret in data/uds.hex and the Unique Device Identifier in data/udi.hex into the bitstream without having to rebuild the entire bitstream.

  • run_pnr.sh: Script to run place and route with nextpnr in order to find a routing seed that will meet desired timing.

  • tkeyimage: Utility to create and parse flash images with a TKey filesystem or the partition table

  • tpt/tpt.py: Utility to create the Unique Device Secret (UDS) and Unique Device Identity (UDI) interactively.