历史上的今天
今天是:2025年07月25日(星期五)
2020年07月25日 | STM8 存储器保护
2020-07-25 来源:51hei
读保护
当选项字节中的ROP字节被编程为'0xAA'时,读保护就生效了。这种情况下,无论写保护是否生效,在ICP模式中(使用SWIM接口)读取或修改FLASH程序存储器和DATA区域都是被禁止的。即使认为没有什么保护是完全不可破解的,对于一个通用微处理器来说,STM8的读保护的特性也提供了一个非常高水平的保护级别。
可以在ICP模式中通过对选项字节中的ROP字节重新编程来解除程序存储器、UBC和DATA区域的读保护。在这种情况下,程序存储器、UBC、DATA区域以及选项字节都被自动擦除,器件也可以被重新编程了。
存储器存取安全系统(MASS)
STM8在复位以后,主程序和DATA区域都被自动保护以防止无意的写操作。在试图修改其内容前必须对其解锁,而解锁的机制由存储器存取安全系统(MASS)来管理。UBC区域的特性指明了在UBC中的内容一直是写保护的一旦存储器内容被修改完毕,推荐将写保护使能以防止数据被破坏。
对主程序存储器的写操作
在器件复位后,可以通过向FLASH_PUKR寄存器连续写入两个被叫作MASS密钥的值来解除主程序存储器的写保护。这两个写人FLASH_PUKR的值会和下两个硬件密钥相比较:
● 第一个硬件密钥:0b0101 0110 (0x56)
● 第二个硬件密钥:0b1010 1110 (0xAE)需要通过如下步骤来解除主程序存储器区域的写保护:
向FLASH_PUKR写入第一个8位密钥。在系统复位后,当这个寄存器被首次写入值时,数据总线上的值没有被直接锁存到这个寄存器中,而是和第一个硬件密钥值(0x56)相比较。
如果密钥输入错误,FLASH_PUKR寄存器在下一次系统复位之前将一直被锁住。在下一次复位前,再向该寄存器进行的任何写操作都会被系统忽略掉。
如果第一个硬件密钥正确,当这个寄存器被第二次写入值时,数据总线上的值没有被直接锁存到这个寄存器中,而是和第二个硬件密钥值(0xAE)相比较。
如果密钥输入错误,FLASH_PUKR寄存器在下一次系统复位之前将一直被锁住。在下一次复位前,再向该寄存器进行的任何写操作都会被系统忽略掉。
如果第二个硬件密钥正确,主程序存储器写保护被解除,同时FLASH_IAPSR中的PUL位为1。
在开始编程之前,应用程序可以校验PUL位是否被有效地置1。应用程序可以在任意时刻通过清PUL位来重新禁止对FLASH程序区域的写操作。
对DATA区域的写操作
在STM8复位后,可以通过向FLASH_DUKR寄存器连续写入两个被叫作MASS密钥的值来解除DATA区域的写保护。这两个写入FLASH_DUKR的值会和以下两个硬件密钥值相比:
● 第一个硬件密钥:0b0101 0110 (0x56)
● 第二个硬件密钥:0b1010 1110 (0xAE)需要通过如下步骤来解除数据区域的写保护:
向FLASH_DUKR写入第一个8位密钥。在系统复位后,当这个寄存器被首次写入值时,数据总线上的值没有被直接锁存到这个存储器中,而是和第一个硬件密钥值(0x56)相比较。
如果密钥输入错误,应用程序可以尝试重新输入这两个MASS密钥来对DATA区域进行解锁。
如果第一个硬件密钥正确,当这个寄存器被第二次写入值时,数据总线上的值没有被直接锁存到这个寄存器中,而是和第二个硬件密钥值(0xAE)相比较。
如果密钥输入错误,DATA EEPROM区域在下一次系统复位之前将一直保持写保护状态。在下一次复位前,再向该寄存器进行的任何写操作都会被系统忽略。
如果第二个硬件密钥正确,DATA区域的写保护被解除,同时FLASH_IAPSR中的DUL位为1。
在开始编程之前,应用程序可以通过校验DUL位是否被有效地置1来确认DATA区域已经将写保护解锁。应用程序可以在任意时刻通过清空DUL位来重新禁止对DATA区域的写操作。
对选项字节的写操作的步骤和对DATA EEPROM的操作大致相同。但是要注意到FLASH_CR2中的OPT位要位1以及FLASH_NCR中的NOPT位要为0,这样才可以对选项字节进行写操作。
上一篇:STM8 用户启动区域(UBC)
下一篇:STM8 复位(RST)寄存器
史海拾趣
|
随着半导体制造商向65纳米技术转移并展望更小节点,严峻的测试挑战也开始浮出水面。现在,工艺开发工程师们必须放弃由硅、二氧化硅、多晶硅和铝材料构成的良性世界,而将自己置于由硅锗(SiGe)、绝缘体上硅(SOI)、亚硝酸铪(HfNO2)、金属栅、低 ...… 查看全部问答> |
|
只需简单填写资料,即可下载,是电子书,测试测量的同志们不要错过了。 https://www.eeworld.com.cn/keithley/down.php?downid=34&id=0… 查看全部问答> |
|
欢迎满足以下条件之一的有识之士与我们联系,公司网址: www.nerc.com.cn,发送简历邮箱地址:whl668@epri.ac.cn。 1.具有2年以上电力行业嵌入式产品开发经验。 2. ...… 查看全部问答> |
|
kingston 2G 优盘 插上时是安装成功可以使用了,但过一会就是unknown driver 然后就没反应了,在我的电脑里也没有显示,在任务栏也没有显示,这种情况算什么,请高手帮忙… 查看全部问答> |
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:57 编辑 CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多, ...… 查看全部问答> |




