Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1292402
  • 博文数量: 168
  • 博客积分: 2124
  • 博客等级: 大尉
  • 技术积分: 2590
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-16 23:51
文章分类

全部博文(168)

文章存档

2014年(6)

2013年(74)

2012年(71)

2011年(17)

分类: 嵌入式

2012-02-15 23:00:02

这些东西想通了真不复杂,但是很多时候我们没“师傅领进门”,这部分的描述很拗口,网上搜了一些资料及论坛也说的不是很清晰,但是还是给我指点了很多,经过向师兄询问以及自己的思考还是想明白了(实际上之前就想明白了,过了几天忘记了,又花了好久想通的)。记下来,忘的时候看一下,也方便下次不明白的童鞋看。

 

 

 

 

 

 

 

 

问题一:

 

“当TAMPER引脚上的信号从0变成1或者从1变成0(取决于备份控制寄存器BKP_CRTPAL),会产生一个侵入检测事件。侵入检测事件将所有数据备份寄存器内容清除。然而为了避免丢失侵入事件,侵入检测信号是边沿检测的信号与侵入检测允许位的逻辑与,从而在侵入检测引脚被允许前发生的侵入事件也可以被检测到。

TPAL=0时:如果在启动侵入检测TAMPER引脚前(通过设置TPE)该引脚已经为高电平,一旦启动侵入检测功能,则会产生一个额外的侵入事件(尽管在TPE位置’1’后并没有出现上升沿)

TPAL=1时:如果在启动侵入检测引脚TAMPER(通过设置TPE)该引脚已经为低电平,一旦启动侵入检测功能,则会产生一个额外的侵入事件(尽管在TPE位置’1’后并没有出现下降沿)

注:当VDD电源断开时,侵入检测功能仍然有效。为了避免不必要的复位数据备份寄存器,TAMPER引脚应该在片外连接到正确的电平。”

 

解答:其中“注:当VDD电源断开时,侵入检测功能仍然有效。为了避免不必要的复位数据备份寄存器,TAMPER引脚应该在片外连接到正确的电平。”这句话不要太纠结,这是硬件做的工作,不要钻牛角尖,如果想搞明白可以与硬件工程师沟通。我们做软件的责任是要在这设置好正确的TEMPER电平信号

TPAL=0时,我们应该将TEMPER引脚拉低。

TPAL=1时,我们应该将TEMPER引脚拉高。(事实上观察了芯片设计图,TEMPER引脚默认的情况下就是高电平)

 

 

问题二:

 

TAMPER应该被禁止。然后,在再次写入备份数据寄存器前重新用TPE位启动侵入检测功能。这样,可以阻止软件在侵入检测引脚上仍然有侵入事件时对备份数据寄存器进行写操作。这相当于对侵入引脚TAMPER进行电平检测。

 

解答:主要是红字部分,我们为什么不让人家写而禁用TAMPER引脚,实际上我们不是不让人家写,是为用户好,不能让人家受罪。因为假如你把信号写进去,这时候上次已经把中断什么的都关上了,当有入侵时,只是入侵事件标志位由硬件改变,而不进入中断处理子程序,这样的话,无法复位备份数据寄存器,那么备份数据寄存器的内容有可能被窃取,所以我们要对禁止TAMPER引脚。

 

 

这样又出现一个问题,入侵允许,配置的时候中断失能的时候,那么出现入侵信号,那么岂不是数据寄存器的内容部自动清除?需要做实验进一步验证。

阅读(8532) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

好喜儿2012-12-06 00:32:43

grownchou: 你好,看了你的文章之后有一个疑问:
“事实上观察了芯片设计图,TEMPER引脚默认的情况下就是高电平”
芯片设计图是在哪看到的?默认高电平是内部有上拉?.....
额,我实际上看到不是stm32,是我们学校做的soc,功能与stm32类似罢了

grownchou2012-12-01 17:25:51

你好,看了你的文章之后有一个疑问:
“事实上观察了芯片设计图,TEMPER引脚默认的情况下就是高电平”
芯片设计图是在哪看到的?默认高电平是内部有上拉?