搜索
bottom↓
回复: 15

mc9s12的单片机是如何实现加密的(已解决)

[复制链接]

出0入0汤圆

发表于 2014-8-11 17:22:37 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_ZJJ 于 2014-9-11 13:07 编辑

看了资料上写的好简单,如何实现的,有没有详细点的例子

•加密后,FLASH和RAM被加密,无法读出
•直接页寄存器,高页寄存器和背景调试控制器仍可读出,未被加

•在加密的存储器中的程序可以访问所有的MCU资源
•从未被加密的存储器中的程序无法访问被加密的程序 (返回值全
为0)
•背景调试控制器也无法访问被加密的程序(返回值全为0)
•加密通过FOPT寄存器的SEC01:SEC00位来设置(0:0, 0:1, 1:1为
加密)
•复位时,FLASH中NVOPT的内容将会被拷贝到高页寄存器FOPT

•在对FLASH编程同时,对NVOPT地址也编入数据即可加密
•加密后,FLASH仍可以全部擦除

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2014-8-11 18:25:10 | 显示全部楼层
人家不是说了嘛:
“加密通过FOPT寄存器的SEC01:SEC00位来设置(0:0, 0:1, 1:1为加密)”

其实就是Flash读出被禁止了,就叫被加密了。

出0入0汤圆

发表于 2014-8-11 20:22:52 | 显示全部楼层
2楼正解,

出0入0汤圆

 楼主| 发表于 2014-8-11 21:14:49 | 显示全部楼层
lileistone 发表于 2014-8-11 18:25
人家不是说了嘛:
“加密通过FOPT寄存器的SEC01:SEC00位来设置(0:0, 0:1, 1:1为加密)”

那复位的时候,程序还没运行到设置加密位的时候,不是加密不起作用吗?

BDM调试的时候,可以是停止代码执行的吧

出0入0汤圆

发表于 2014-8-11 23:13:19 | 显示全部楼层
怎么那么像AVR的熔丝位呢?

出0入0汤圆

发表于 2014-8-12 09:56:20 | 显示全部楼层
楼主你好,FOPT的数据是复位时从NVOPT那边拷贝过来,其实实际上实现加密是通过修改NVOPT那边的数据实现的。你仔细看看手册中关于NVOPT的配置情况,手册中肯定有讲的。

出0入0汤圆

发表于 2014-8-12 10:34:32 | 显示全部楼层
richyhuang 发表于 2014-8-11 21:14
那复位的时候,程序还没运行到设置加密位的时候,不是加密不起作用吗?

BDM调试的时候,可以是停止代码执 ...

那几个bit设置好了之后就存在Flash中了,掉电不丢失的,上电复位的时候会拷贝到Flash相关控制器相关寄存器的那些位,先于你的代码启动之前就执行了。
另外这里说“设置”的意思不是你的代码要手动写个什么值进去,而是你写中断向量表的时候就写好(定义好常数数组),直接存在Flash里。用户程序不需要操心这些事……

以上经验来自Kinetis系列控制器,但我猜Freescale多个芯片应该做法是通用的。如果有错误麻烦Freescale Support同志更正一下……

出0入0汤圆

发表于 2014-8-12 10:35:33 | 显示全部楼层
richyhuang 发表于 2014-8-11 21:14
那复位的时候,程序还没运行到设置加密位的时候,不是加密不起作用吗?

BDM调试的时候,可以是停止代码执 ...

5楼说像AVR的熔丝位,其实这就是Freescale的熔丝位。

出0入0汤圆

 楼主| 发表于 2014-8-12 11:00:37 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2014-8-12 09:56
楼主你好,FOPT的数据是复位时从NVOPT那边拷贝过来,其实实际上实现加密是通过修改NVOPT那边的数据实现的。 ...

谢谢,英文的资料看的太累的,中文的又写的太简单了,所以没弄明白,我再好好看看资料

出0入0汤圆

 楼主| 发表于 2014-8-12 11:01:56 | 显示全部楼层
lileistone 发表于 2014-8-12 10:34
那几个bit设置好了之后就存在Flash中了,掉电不丢失的,上电复位的时候会拷贝到Flash相关控制器相关寄存 ...

明白了,这个拷贝过程是先于代码执行的,跟backkey的设置一样,谢谢

出0入0汤圆

发表于 2014-8-12 14:20:26 | 显示全部楼层
richyhuang 发表于 2014-8-12 11:00
谢谢,英文的资料看的太累的,中文的又写的太简单了,所以没弄明白,我再好好看看资料 ...

英文的看多了其实也没那么难懂,反而比中文更加明白。

出0入0汤圆

 楼主| 发表于 2014-8-12 17:42:15 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2014-8-12 14:20
英文的看多了其实也没那么难懂,反而比中文更加明白。

那是因为你是美国人嘛

出0入0汤圆

发表于 2014-8-13 09:22:35 | 显示全部楼层
richyhuang 发表于 2014-8-12 17:42
那是因为你是美国人嘛

因为很多的中文资料也是从英文翻译过来的。
所以英文比较原汁原味。
楼主如果还有技术问题,欢迎技术交流啊。

出0入0汤圆

发表于 2014-9-2 22:53:57 | 显示全部楼层
过来看高手回复的,不错

出0入0汤圆

发表于 2014-9-2 23:02:57 | 显示全部楼层
用单片机还没使过那些个加密技术。。。

出100入101汤圆

发表于 2014-9-3 06:58:44 | 显示全部楼层
mc9s12,单片机flash加密
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-15 12:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表