aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordberg.se>2016-05-18 12:34:00 +0200
committerLinus Nordberg <linus@nordberg.se>2016-05-18 12:34:00 +0200
commitf04eae62383d79fde9c3ad52be5bcf26c05a650d (patch)
treecc985cbce26064308c1289fcb239da7c66a50fa9
parent7ebd56579f5e90861c39fdf46fa7d53446cfeccf (diff)
Add info about building and uploading.
-rw-r--r--README.md55
1 files changed, 48 insertions, 7 deletions
diff --git a/README.md b/README.md
index 2ccba7d..8dd2b77 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,9 @@
-Tamper detection for Atmel AVR ATtiny828 MCU on the Cryptech alpha
-board, rev02.
+# Cryptech tamper detection
+
+This is software for the Atmel AVR ATtiny828 MCU on the Cryptech alpha
+board, rev02, implementing tamper detection and master key erasure.
+
+## Overview
*************
* P A N I C *
@@ -13,11 +17,11 @@ board, rev02.
| ARM
MKM
-AVR -- Atmel MCU
-FPGA -- FPGA
-MKM -- Master Key Memory, 23K640 SRAM
-SPI mux -- 2 x MC74AC244DW
-ARM -- ARM CPU
+ AVR -- Atmel MCU
+ FPGA -- FPGA
+ MKM -- Master Key Memory, 23K640 SRAM
+ SPI mux -- 2 x MC74AC244DW
+ ARM -- ARM CPU
The MKM holds the master key for the device.
@@ -31,3 +35,40 @@ When the panic button is pressed, the AVR grabs the MKM and writes
zeros to it as quickly as possible. In idle mode, i.e. when the panic
button is not pressed, the AVR tries to consume as little power as
possible.
+
+## Building the software
+
+To build a .hex file suitible for uploading to a board with a
+ATTiny828, a C compiler for AVR is needed, as wells a objcopy. On a
+Debian system, the following command can be used for installing both:
+
+ apt-get install gcc-avr binutils-avr
+
+To build tamper.hex, type 'make' in this directory.
+
+
+To upload a .hex file to a board, the program avrdude can be used. On
+a Debian system, the following command can be used for installing
+avrdude:
+
+ apt-get install avrdude
+
+If configuration for ATtiny828 is missing, the file attiny828.conf in
+this directory could be appended to avrdude.conf:
+
+ cat attiny828.conf >> /etc/avrdude.conf
+
+Often, a piece of hardware often called an SPI programmer is needed in
+order to upload the .hex file. The one I've been using has
+"sparkfun.com" printed on it. This small board has a mini-USB port to
+connect to a host system and a header with SPI pins to connect to a
+board with an AVR on it.
+
+To upload a .hex file to a board, use the upload.sh shell script in
+this directory with the name of the file as the only argument:
+
+ ./upload.sh tamper.hex
+
+Depending on permissions on your host system you might want to run the
+upload script as root.
+