文章分类

当前位置:首页>技术文章>Flash单片机的两种加密解密方法介绍

Flash单片机的两种加密解密方法介绍

在 HCS12 系列单片机中,加密可以分成两种方法:完全加密和使用密码的加密。这两种加密的方法根据用户的需求,使用的场合也有所不同。·完全加密所谓完全加密,就是将芯片彻底的保护起来,屏蔽对芯片的所有读操作。在 MC9S12DP256 单片机中,加密是通过对某一 Flash 单元($FF0F)编程来实现的。加密后的芯片,BDM 编程器对 Flash 的读操作就被禁止了。采用完全加密,读取 ROM 代码的可能性就不存在了,这是一种最为“安全”的加密方法。

如果用户想修改 ROM 的内容,唯一的办法就是将 Flash 的内容全部擦除,这一操作可以通过 BDM 编程器来完成。使用 BDM 编程器擦除 Flash ROM 和 EEPROM 的过程与在普通模式下对片内的 Flash ROM 擦除操作过程基本一样,区别是对寄存器或是存储单元的读写要改由 BDM 命令来实现。通过 BDM 编程器将一连串完整的擦除指令序列送给单片机,就可将 Flash ROM 和 EEPROM 的内容全部擦除了。

在全擦除操作完成后,BDM 编程器将系统复位,系统会自动检查全擦除操作是否成功。如果成功,BDM 状态寄存器的 UNSEC 位会自动置“1”,系统进入解密状态。由于系统靠检查 Flash ROM 和 EEPROM 是否清空来决定系统是否保持加密状态,所以,如果用户程序偶然将 Flash ROM 和 EEPROM 的内容全部擦除,那么系统也将自动解密。·使用密码的加密为了留有读取 ROM 代码的可能,用户可以采用一种带有密码的加密方式。

解密时,用户只要给出正确的密码(称为“后门密码”),就可以读写 ROM,而不破坏其内容了。使用这种方法,用户需要在加密之前,设定 4 个字长的密码,并将其存放在 Flash 中,MC9S12DP256 存放密码的 Flash 地址是从$FF00 到$FF07。设定的密码可以随用户程序一起下载到芯片中。解密时,接受用户输入的密码并验证的工作只能由一个用户接口程序来完成的,不能使用 BDM 编程器。接口的方式没有限制,如 SCI、SPI、IIC、MSCAN 等等,只要用户能够将正确的密码输入,任何一种接口方式都是可以的,最为典型的接口是串口。


© 星光电子技术工作室 2021 All Rights Reserved.
如有任何问题、建议、业务、合作,请联系手机/微信:13713820066