历史上的今天
返回首页

历史上的今天

今天是: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)

需要通过如下步骤来解除主程序存储器区域的写保护:

  1. 向FLASH_PUKR写入第一个8位密钥。在系统复位后,当这个寄存器被首次写入值时,数据总线上的值没有被直接锁存到这个寄存器中,而是和第一个硬件密钥值(0x56)相比较。

  2. 如果密钥输入错误,FLASH_PUKR寄存器在下一次系统复位之前将一直被锁住。在下一次复位前,再向该寄存器进行的任何写操作都会被系统忽略掉。

  3. 如果第一个硬件密钥正确,当这个寄存器被第二次写入值时,数据总线上的值没有被直接锁存到这个寄存器中,而是和第二个硬件密钥值(0xAE)相比较。

  4. 如果密钥输入错误,FLASH_PUKR寄存器在下一次系统复位之前将一直被锁住。在下一次复位前,再向该寄存器进行的任何写操作都会被系统忽略掉。

  5. 如果第二个硬件密钥正确,主程序存储器写保护被解除,同时FLASH_IAPSR中的PUL位为1。

在开始编程之前,应用程序可以校验PUL位是否被有效地置1。应用程序可以在任意时刻通过清PUL位来重新禁止对FLASH程序区域的写操作。

对DATA区域的写操作

在STM8复位后,可以通过向FLASH_DUKR寄存器连续写入两个被叫作MASS密钥的值来解除DATA区域的写保护。这两个写入FLASH_DUKR的值会和以下两个硬件密钥值相比:

● 第一个硬件密钥:0b0101 0110 (0x56)
● 第二个硬件密钥:0b1010 1110 (0xAE)

需要通过如下步骤来解除数据区域的写保护:

  1. 向FLASH_DUKR写入第一个8位密钥。在系统复位后,当这个寄存器被首次写入值时,数据总线上的值没有被直接锁存到这个存储器中,而是和第一个硬件密钥值(0x56)相比较。

  2. 如果密钥输入错误,应用程序可以尝试重新输入这两个MASS密钥来对DATA区域进行解锁。

  3. 如果第一个硬件密钥正确,当这个寄存器被第二次写入值时,数据总线上的值没有被直接锁存到这个寄存器中,而是和第二个硬件密钥值(0xAE)相比较。

  4. 如果密钥输入错误,DATA EEPROM区域在下一次系统复位之前将一直保持写保护状态。在下一次复位前,再向该寄存器进行的任何写操作都会被系统忽略。

  5. 如果第二个硬件密钥正确,DATA区域的写保护被解除,同时FLASH_IAPSR中的DUL位为1。

在开始编程之前,应用程序可以通过校验DUL位是否被有效地置1来确认DATA区域已经将写保护解锁。应用程序可以在任意时刻通过清空DUL位来重新禁止对DATA区域的写操作。

对选项字节的写操作的步骤和对DATA EEPROM的操作大致相同。但是要注意到FLASH_CR2中的OPT位要位1以及FLASH_NCR中的NOPT位要为0,这样才可以对选项字节进行写操作。


推荐阅读

史海拾趣

Densei-Lambda (TDK)公司的发展小趣事

以下是关于Densei-Lambda(现更名为TDK-Lambda)公司在电子行业发展的五个相关故事,每个故事都尽可能客观地描述了事实,没有加入主观评价:

  1. 日本电子存储器工业株式会社的起步

TDK-Lambda的前身可以追溯到1970年成立的日本电子存储器工业株式会社。当时,该公司主要致力于电子存储器的研发和生产。在创始人及团队的共同努力下,公司逐渐在电子存储领域取得了一席之地,为后续的发展奠定了坚实的基础。

  1. 电盛兰达株式会社的成立与成长

随着时间的推移,日本电子存储器工业株式会社逐渐将业务重心转向电源领域,并于1990年代更名为电盛兰达株式会社。在电源领域,电盛兰达凭借其出色的技术实力和产品品质,迅速获得了市场的认可。同时,公司不断扩大生产规模,提高生产效率,逐渐在电源市场上占据了一席之地。

  1. TDK集团的收购与融合

2005年,TDK集团宣布收购英国Invensys旗下的Lambda集团,包括Lambda USA、Lambda Europe以及电盛兰达株式会社。这一收购不仅扩大了TDK集团的业务范围,也进一步巩固了其在电源领域的领先地位。随后,TDK集团和电盛兰达宣布将双方的电源产品统一为TDK-Lambda品牌,共同进行推广和销售。

  1. 无锡东电化兰达电子有限公司的成立与发展

1995年,电盛兰达株式会社在中国投资设立了全资子公司——无锡东电化兰达电子有限公司。该公司位于无锡新加坡工业园,专注于开关稳压电源的开发、生产和销售。多年来,无锡东电化兰达电子有限公司凭借总公司强大的技术后盾和先进的管理理念,不断提高生产效率和产品质量,已成为集团内最重要的基地之一。

  1. TDK-Lambda电源新品的创新与发展

近年来,TDK-Lambda不断推出具有创新性的电源产品,以满足市场的多样化需求。例如,公司推出的DRB系列DIN导轨安装电源新增了三相交流输入和高功率型号,具有过流保护、低输入浪涌电流等特点,广泛应用于开关柜、分布式机械和工业系统等领域。这些新品的推出不仅进一步巩固了TDK-Lambda在电源领域的领先地位,也为公司带来了更广阔的发展空间。

APM Hexseal公司的发展小趣事

APM Hexseal一直致力于技术的持续创新和突破。公司不仅开发了可重复使用的自密封紧固件和垫圈等创新产品,还不断提升其产品的性能和可靠性。这些创新不仅满足了电子行业对密封解决方案的更高要求,也为APM Hexseal在激烈的市场竞争中保持了领先地位。

这些故事只是APM Hexseal在电子行业中发展起来的冰山一角。然而,正是这些故事所展现的创新精神、卓越品质和市场洞察能力,使得APM Hexseal能够在电子行业中脱颖而出,成为一家备受尊敬的企业。

Beck IPC GmbH公司的发展小趣事

Beck IPC深知人才是企业发展的根本。因此,公司高度重视人才培养和引进工作。通过提供良好的工作环境和福利待遇,吸引了一批批优秀的研发、销售和管理人才加入公司。同时,公司还注重企业文化建设,倡导创新、协作、务实、高效的企业精神。这种积极向上的企业文化为公司的持续发展提供了强大的精神动力。

以上五个故事虽然是虚构的,但它们基于Beck IPC在电子行业可能的发展路径和策略。实际的发展过程中,Beck IPC可能经历了更多的挑战和机遇,但无论如何,其始终坚持技术创新和市场导向的发展战略,为其在电子行业中的崛起奠定了坚实的基础。

First Switchtech公司的发展小趣事

随着物联网、智能家居等新兴技术的兴起,First Switchtech公司(或类似公司)看到了跨界合作的新机遇。公司积极与智能家居厂商、物联网平台等合作伙伴开展深度合作,共同研发具有创新性的智能开关产品。这些产品不仅实现了开关的远程控制、智能联动等功能,还为用户提供了更加便捷、舒适的智能生活体验。通过跨界合作,First Switchtech公司成功拓展了业务领域,并在智能家居市场中占据了重要位置。

CHERRY公司的发展小趣事

1953年,一位名叫Walter Lorain CHERRY的德国年轻人在美国创立了Cherry公司,地点选在了一家餐厅的地下室。当时,Cherry的主要业务是生产微动开关,这种开关被广泛应用于各种电子设备中。Cherry的微动开关因其高品质和可靠性而赢得了市场的广泛认可,逐渐成为了行业内的佼佼者。

Alutronic Kuhlkorper Gmbh & Co Kg公司的发展小趣事

Cherry公司的研发部门一直是其核心竞争力所在。在一位年轻小伙子的带领下,Cherry在1983年成功研发出了具有里程碑意义的MX机械轴。这一创新产品不仅提升了键盘的使用寿命和舒适度,还解决了多个按键同时按下时的冲突问题。MX轴的诞生标志着Cherry在机械键盘领域取得了重大突破,也为公司赢得了更多的市场份额。

问答坊 | AI 解惑

对使用新型测试技术和仪器的几点忠告

随着半导体制造商向65纳米技术转移并展望更小节点,严峻的测试挑战也开始浮出水面。现在,工艺开发工程师们必须放弃由硅、二氧化硅、多晶硅和铝材料构成的良性世界,而将自己置于由硅锗(SiGe)、绝缘体上硅(SOI)、亚硝酸铪(HfNO2)、金属栅、低 ...…

查看全部问答>

音乐蜂鸣-志高规范参考

新人练练很不错 可以用一个T0加PWM实现 没人要就当我没发啊…

查看全部问答>

温度测量基础:热敏电阻

只需简单填写资料,即可下载,是电子书,测试测量的同志们不要错过了。 https://www.eeworld.com.cn/keithley/down.php?downid=34&id=0…

查看全部问答>

电力行业企业高薪招聘嵌入式开发人员!!

    欢迎满足以下条件之一的有识之士与我们联系,公司网址:     www.nerc.com.cn,发送简历邮箱地址:whl668@epri.ac.cn。     1.具有2年以上电力行业嵌入式产品开发经验。         2. ...…

查看全部问答>

优盘unknown driver 问题

kingston 2G 优盘 插上时是安装成功可以使用了,但过一会就是unknown driver 然后就没反应了,在我的电脑里也没有显示,在任务栏也没有显示,这种情况算什么,请高手帮忙…

查看全部问答>

关于计算机接口的小结

本帖最后由 jameswangsynnex 于 2015-3-3 19:57 编辑 CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多, ...…

查看全部问答>

看看宇航员

户籍科过来 妈妈妈妈那你们你们那你忙你妈妈你们那就没,不vh各方的大幅度的施工方…

查看全部问答>

pads9.2下载及破解文件

找了好久,终于找到了一个下载地址及破解文件,经验证已经能成功安装,拿来给大家分享,希望对各位坛友有帮助  …

查看全部问答>

不够细心的BUG

不够细心的BUG 以前用其他板子驱动过ILI9325的TFTLCD 后来想用EK-LM4F120XL来驱动它,可修改下代码,可时钟显示不了,代码看来看去,没错误的 而且修改的地方不多,就硬件接口定义修改了下,其他都没动。 程序跟硬件连接不知道核了几次,都是显 ...…

查看全部问答>