Atmel AT97SC3205T-SDK2, AT97SC3205P-SDK2 User Manual

AT97SC3205T-SDK2
AT97SC3205P-SDK2
Atmel TPM I2C/SPI Development Kit
Atmel I
2
C/SPI Demonstration Kit
Introduction
The Atmel® TPM™ Development Kit includes examples of how to use the Trusted Platform Module (TPM) in an embedded and PC application. Source code is provided to enable an embedded designer to make quick progress in understanding and utilizing the TPM.
The TPM Development Kits are based on the Atmel SAM4S ARM
®
with an added I2C or SPI TPM device. The TPM demonstration code and evaluation software are included on a USB flash drive which comes with the kits. The board includes a SPI or I
2
C TPM, a SAMS4 processor, a board reset button, a JTAG connector, and detachable segments to allow for engineering system integration as shown in
Figure 1.
Complete SAM4S ARM documentation can be found on the Atmel web site at the following link:
http://www.atmel.com/Images/Atmel_11100_32-bit-Cortex-M4-Microcontroller_SAM4S_Datasheet.pdf
This TPM Development Kit User Guide documents the features specific to the TPM and references the SAM4S ARM documentation where appropriate.
Atme l-8528D-TPM-I2C-SPI-Development-Kit-UserGuide_052014
AT97SC3205T/3205P-SDK2 TPM I2C/SPI Development Kiti [USER GUIDE]
Atme l-8528D-TPM-I2C-SPI-Development-Kit-UserGuide_052014
2
Features
The TPM kit is a custom board containing an I2C TPM or SPI TPM and related circuitry connected to the SAM4S ARM board. Interface signals on the board are:
Power
Ground
PIRQ
Chip Select (CS)
MISO
SDA
SCL
SCLK
MOSI
RST
GND
V
CC
The following functional sections are provided on the Embedded TPM kit:
AT97SC3205 I
2
C or SPI Atmel TPM
TPM Reset Switch
RC Reset Delay
Decoupling Capacitors
Pull-Up and Pull-Down Resistors
Test Points
USB Drive
The included USB drive includes the following:
User Guide
Source Code of the Demo
Hex Images for Reloading the Demo (If Necessary)
Kit Schematics
Figure 1. Atmel I2C/SPI Demonstration Kit
JTAG ConnectorSAMS4 ARM
Reset Button TPM
Mini JTAG Connector
Detachable Segments
AT97SC3205T/3205P-SDK2 TPM I2C/SPI Development Kiti [USER GUIDE]
Atme l-8528D-TPM-I2C-SPI-Development-Kit-UserGuide_052014
3
Table of Contents
TPM Overview ..................................................................................................................... 4
Power ............................................................................................................................................................. 4
Reset Button .................................................................................................................................................. 4
In-System Programming ................................................................................................................................ 4
Debugging ...................................................................................................................................................... 4
Demonstration Software .................................................................................................... 5
Initial One-Time Setup ................................................................................................................................... 6
Demo Menu Commands ................................................................................................................................ 6
Selection 1 - TPM_Startup (ST_CLEAR) .............................................................................................. 6
Selection 2 - TPM_ContinueSelfTest .................................................................................................... 7
Selection 3 - TPM_CreateEKPair .......................................................................................................... 7
Selection 4 - TPM_TakeOwnerShip (Sequence) .................................................................................. 7
Selection 5 - TPM_CreateWrapKey (Sequence) ................................................................................... 8
Selection 6 - TPM_Loadkey (Sequence) .............................................................................................. 8
Selection 7 - TPM_Seal (Sequence) ..................................................................................................... 9
Selection a - TPM_UnSeal (Sequence) .............................................................................................. 10
Selection b - TPM_Sign (Sequence) ................................................................................................... 10
Selection c - TPM_VerifySign (Sequence) .......................................................................................... 11
Selection d - TPM_GetPubKey (Sequence) ........................................................................................ 11
Selection t - getCapability_versionVal ................................................................................................. 12
Selection u - TPM_Reset (Clears authSessions) ................................................................................ 12
Selection v - TPM_FlushSpecific (keyHandle) .................................................................................... 12
Selection w - TPM_ForceClear (Sequence) ........................................................................................ 12
Selection x - Enable/Activate TPM (Sequence) .................................................................................. 13
Selection y - Disable/Deactivate TPM (Sequence) ............................................................................. 13
Selection z - Display Known Keys ....................................................................................................... 13
Technical Support ............................................................................................................ 13
Hardware Reference Design ............................................................................................ 13
Schematics .................................................................................................................................................. 13
Revision History ............................................................................................................... 14
AT97SC3205T/3205P-SDK2 TPM I2C/SPI Development Kiti [USER GUIDE]
Atme l-8528D-TPM-I2C-SPI-Development-Kit-UserGuide_052014
4
TPM Overview
Power
The TPM receives power from the SAM4S ARM through the interface headers. During normal use, the SAM4S ARM is powered through the USB device connection, which doubles as both a power source and communication interface to the SAM4S ARM. The SAM4S ARM provides 5V to 3.3V regulated power for the TPM.
Reset Button
The reset button resets the TPM. Pressing the reset button will only send a Power-On-Reset (POR) signal to the TPM.
In-System Programming
The SAM4S ARM provided with the TPM differs from a standard SAM4S ARM in that the pre-programmed application software loaded in Flash memory is the TPM demonstration software, not the SAM4S ARM demonstration software.
The USB bootloader remains pre-programmed in ROM memory. This bootloader may be used to either reload the TPM demonstration software images or to load the SAM4S ARM demonstration software. The kit has a JTAG connector that can be detached from the kit and connected to the mini JTAG connector on the board. This will allow the reprogramming of the SAM4S ARM.
The TPM demonstration software must remain loaded in Flash memory in order to execute the I
2
C TPM demo.
Instructions on how to utilize the FLexible In-system Programmer (“FLIP”) software in tandem with the USB bootloader to load SPI, I
2
C, or additional application software can be found in the SAM4S ARM
Datasheet. A copy of the FLIP installer is downloadable from www.atmel.com.
For more advanced in-system programming techniques, the In-System Programmer SAM JTAG ICE combined with Atmel Studio
®
can be utilized over the provided JTAG interface port to exercise complete
programming control over the processor.
If a software update is required on the TPM, and the customer does not have a SAM-ICE JAG, the SAM-BA tool can be downloaded using the following Atmel link:
http://www.atmel.com/tools/atmelsam-bain-systemprogrammer.aspx
Contact crypto@atmel.com for software update instructions.
Debugging
For more advanced development and debugging techniques, the Atmel In-System Programmer SAM-ICE JTAG combined with the Atmel Studio and the Atmel Studio GCC C Complier can be utilized over the provided JTAG interface port to exercise complete development and debugging control over the SAM4S processor.
AT97SC3205T/3205P-SDK2 TPM I2C/SPI Development Kiti [USER GUIDE]
Atme l-8528D-TPM-I2C-SPI-Development-Kit-UserGuide_052014
5
Demonstration Software
To start the demonstration software, follow the below steps:
1. Connect the TPM Demo Kit to an available USB port:
a. Insert the USB drive into the computer, and allow Windows to recognize the drive.
b. Install the Atmel_devices_cdc.inf file from the USB drive. The steps include the following:
Open Device Manager.
Select CDC unknown device.
From the Device Manager main menu, select Action > Update Driver Software….
Select Browse my computer for Driver Software…button.
Browse to the .inf file folder on the USB drive.
c. Install the TPM Demo Kit driver software. The TPM Demo Kit device should show as a COM
PORT in the Device Manager.
2. Launch a terminal emulation software of your choice. The serial default connection default settings are:
Baud rate: 9,600
Data: 8 bit
Stop: 1 bit
Parity: None
Flow control: None
Echo Type Characters locally (if available).
3. Associate the terminal emulation software with the virtual COM port established by connecting the TPM Demo Kit to the system.
4. Activate the demonstration software by pressing any key while in the active terminal emulation software window. The below demonstration selection menu should appear.
Demonstration Menu Selections
Available commands:
1) TPM_Startup(ST_CLEAR)
2) TPM_ContinueSelfTest
3) TPM_CreateEKPair
4) TPM_TakeOwnerShip (sequence)
5) TPM_CreateWrapKey
6) TPM_Loadkey
7) TPM_Seal (sequence) a) TPM_UnSeal (sequence) b) TPM_Sign (sequence) c) TPM_VerifySign d) TPM_GetPubKey
t) TPM_GetCapability(versionVal) u) TPM_Reset (clears authSessions) v) TPM_FlushSpecifc - keyHandle w) TPM_ForceClear (sequence) x) enable/activate TPM (sequence) y) disable/deactivate TPM (sequence) z) display known keys
Please pick a command:
Loading...
+ 11 hidden pages