Archive of https://github.com/zecoxao/teensy4vfi — Teensy 4.0 firmware for Voltage Fault Injection research https://github.com/zecoxao/teensy4vfi
  • C 94.1%
  • Assembly 3.3%
  • Linker Script 1.1%
  • Python 1%
  • Makefile 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2023-10-08 15:31:39 +01:00
output flush tx before uart reset, add decimal args to the rpc script 2023-10-07 19:00:14 +02:00
source flush tx before uart reset, add decimal args to the rpc script 2023-10-07 19:00:14 +02:00
LICENSE Initial commit 2023-09-19 21:13:39 +02:00
linker.x RPC client, clock param overrides, static glitch func location 2023-10-04 20:42:02 +02:00
Makefile Added RPC server and glitch funcs 2023-10-03 19:07:42 +02:00
README.md Update README.md 2023-10-08 15:31:39 +01:00
rpclient.py flush tx before uart reset, add decimal args to the rpc script 2023-10-07 19:00:14 +02:00

teensy4vfi

Teensy 4.0 firmware for Voltage Fault Injection research

note

This project is in its very early stages, it also serves as a way for me to learn """white box""" SoC baremetal programming.
Some code might make no sense and/or be overcomplicated, suggestions and non-C++ PRs are welcome.

Known TODOs

  • Critical bug fixes
  • Docs, readme, measurements, etc
  • More glitch types

Optional

  • Exceptions & Interrupts
  • Interrupt-based trigger (optional due to high jitter)
  • Interrupt->DMA-based UART RX handling
  • More RPC commands

Known BUGs

  • PC RPC script skipping, cutting return codes
    • timing issues, very low priority

compiling & flashing

This project does not have any external requirements, it can be compiled with the Arm GNU Toolchain.
The output .hex can be used with teensy-loader to flash the flash (lul)

measurements

  • width 12400/ 20us for PHAT
  • width 2480 / ~4us for PSTV