最近有项目需要,需要开发移动终端的安全。首先想到的是可信计算,可信计算在PC机比较流行,但是目前对可信计算的褒贬不一,这里不作评论。本文的目的是记录一下我的开发过程。
我使用的芯片是ATMEL公司的AT97SC3204T,基于I2C总线的。从选型、硬件设计、画板、驱动、TSS栈一条龙下来,目前进展的还算顺利。
一、硬件设计和驱动
先说一下硬件的设计,上图!
原理图异常简单,根据手册的要求设计即可。这里值得提一下的是,手册里要求必须上拉的引脚务必上拉,否则芯片将不能工作。我遇到的情况是由于当初手动焊接该芯片,导致一个引脚虚焊,在加载I2C驱动程序进行芯片探测的时候,一直找不到它:
后来补焊之后就OK了。这里贴一下驱动加载OK之后的一些效果,具体的使用下一步再说。
加载驱动:
[zhang@ray210 /nfs/at97sc3204t]# insmod tpm_data.ko
[zhang@ray210 /nfs/at97sc3204t]# insmod tpm_i2c_atmel.ko
tpm_i2c_atmel 0-0029: probe TPM 1.2 start.
tpm_i2c_atmel 0-0029: misc device /dev/tpm0 created.
tpm_i2c_atmel 0-0029: Issuing TPM_STARTUP OK.
tpm_i2c_atmel 0-0029: probe TPM 1.2 succeed.
到特定的目录查看一下:
[zhang@ray210 /sys/devices/platform/s3c2440-i2c.0/i2c-0/0-0029]# ls
active enabled pcrs