本帖最后由 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仍可以全部擦除
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
“加密通过FOPT寄存器的SEC01:SEC00位来设置(0:0, 0:1, 1:1为加密)”
其实就是Flash读出被禁止了,就叫被加密了。
那几个bit设置好了之后就存在Flash中了,掉电不丢失的,上电复位的时候会拷贝到Flash相关控制器相关寄存器的那些位,先于你的代码启动之前就执行了。
另外这里说“设置”的意思不是你的代码要手动写个什么值进去,而是你写中断向量表的时候就写好(定义好常数数组),直接存在Flash里。用户程序不需要操心这些事……
以上经验来自Kinetis系列控制器,但我猜Freescale多个芯片应该做法是通用的。如果有错误麻烦Freescale Support同志更正一下……
一周热门 更多>