2703|0

3836

帖子

19

TA的资源

纯净的硅(中级)

楼主
 

MSP430熔丝及加密总结 [复制链接]

MSP430是使用熔丝或者电子熔丝去做内部代码的保护,如果熔丝烧断,那么将不能使用JTAG或者BSL去非法访问内部代码。MSP430F1/F2/F4系列是采用物理熔丝的方式,使用编程器在TEST引脚或者TDI引脚上加6.5V±0.5V的电压,采取这种方式,JTAG接口被禁止而且是不可恢复的,只能通过BSL去访问。MSP430F5/F6/FR2/FR4/FR5/FR系列都是采用e-Fuse电子熔丝的方式去做加密,一般是在Flash/FRAM中的2个字的位置(签名)内写入一定的内容去实现加锁或者加密码。器件只能通过密码保护的BSL去访问。通过BSL去访问器件,去清除JTAG签名区,那么是可以重新恢复并且访问MCU的。



F5x/F6x eFuse:

JTAG签名在17FCh~17FFh地址内,写入全0或者全F以外的值会将JTAG/BSL接口锁住。要对这些地址编程,那么首先要清除SYSBSLC寄存器中的SYSBSLPE位,用于解锁BSL Flash被保护的区域。


如果要清除JTAG/SBW保护,可以使用BSL去对JTAG签名写入全0,BSL也是通过中断向量表中的FFE0h~FFFFh中的至少32bytes的密码去做保护。因为JTAG签名是位于被保护的BSL区域,BSL首先回清除SYSBSLC寄存器中的 SYSBSLPE位,随后对JTAG签名写入全0.


FR5xx/FR6xxeFuse

JTAG签名在FRAM的FF80~FF83h范围内,写入 55555555h到JTAG签名中,JTAG/BSL接口被无密码的锁住。如果想要解除JTAG/SBW保护,bootloader可以使用5555或AAAA以外的值去清除JTAG签名。或者执行BSL整体擦除指令。



如果是5555_5555h到JTAG签名区中,那么JTAG会被直接锁死,只能通过BSL命令去解锁。

如果写入AAAA_xxxxh到JTAG签名区中,那么JTAG被密码锁死,可以通过密码去让仿真器访问MCU。

如果JTAG签名中写入其它值,那么JTAG/SBW没有被锁住。


FR4xx/FR2xxeFuse

JTAG签名在FF80~FF83h范围内,对JTAG签名中写入 00000000hor FFFFFFFFh以外的值可以将JTAG进行无密码解锁的锁住。可以使用Bootloader对签名去写入全0或者全1去解锁JTAG/BSL保护。BSL也是密码保护的,在中断向量表中的至少32个字节做BSL的密码,也可以通过BSL的整体擦除命令去解锁。



所以,如果JTAG/SBW被锁住,那么仿真器不能通过密码去访问器件,只能采用BSL按照一定的密码匹配去解锁器件。


FR5/FR6xx加密例程分析



在linker文件中将.jtagsignature分配到JTAG签名区去,0xFF80中写入0xAAAA,那么是采用密码的方式加锁eFuse,0xFF82中写入0x0002,那么密码的长度为2个字节。.jtagpassword被分配到0xFF88起始的区域中,写入相应的密码。

器件加密后,再进行一次BOR复位,那么JTAG被锁住了。可以再CCS中对.ccxml文件进行配置然后再次让仿真器访问器件。如下图所示。



这时候MCU是已经被加密了,如果执行芯片擦除操作,或者在代码中将JTAG签名区写入FFFF_FFFFh(5555或者AAAAh之外的值),那么芯片也能解密。


另外,BSL也是可以被禁止使用的。


 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表