首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

yunfeng请进[求助]急!!!

yunfeng请进[求助]急!!!

您在[讨论]MC9S12的保密问题帖子中有如下回复,请您告诉我解密那一段用什么能写入?资料上说用串口,请问串口怎么写?万分感谢


加密后,FLASH和RAM被加密,无法读出
直接页寄存器,高页寄存器和背景调试控制器仍可读出,未被加密
在加密的存储器中的程序可以访问所有的MCU资源
从未被加密的存储器中的程序无法访问被加密的程序 (返回值全为0)
背景调试控制器也无法访问被加密的程序(返回值全为0)
加密通过FOPT寄存器的SEC01:SEC00位来设置(0:0, 0:1, 1:1为加密)
复位时,FLASH中NVOPT的内容将会被拷贝到高页寄存器FOPT中
在对FLASH编程同时,对NVOPT地址也编入数据即可加密
加密后,FLASH仍可以全部擦除

解密 Flash 存储器
对 FCNFG中的 KEYACC置1

写正确的4个 16位字到 Flash 存储器。

清除 KEYACC 位。

通过SEC[1:0]位强制解锁 MCU 。

若4个16位字中任一个不与flash中的匹配,则MCU不被解锁且一个解锁违例信号被发送到CPU。

在prm文件中:

VECTOR ADDRESS 0xFFBE 0x00C0 // engage security, allow backdoor to disengage security
VECTOR ADDRESS 0xFFB0 0x1234 // backkey
VECTOR ADDRESS 0xFFB2 0x5634 // backkey
VECTOR ADDRESS 0xFFB4 0x1212 // backkey
VECTOR ADDRESS 0xFFB6 0x1212 // backkey

在对FLASH编程时,会将以上数据放到以上FLASH地址中

只有NVOPT中KEYEN位为1时,才能对FLASH解密


实际上如果不用BDM接口的话,解密只能通过芯片中的程序来执行。当然此时芯片中的程序可以与外部进行某种通讯,接收外部的解密的命令或密码等。
海纳百川  有容乃大
返回列表