你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 446|回复: 2

【中文文档】STM32L1xx 微控制器上的专有代码读保护

[复制链接]

450

主题

48

回帖

3

蝴蝶豆

社区小助手

最后登录
2020-7-30
发表于 2019-5-9 10:35:22 | 显示全部楼层 |阅读模式
本帖最后由 eefishing 于 2019-5-9 10:42 编辑

前言

在微控制器领域,对嵌入式代码的知识产权保护已经成为被高度重视的问题。为了提供这方面的保护,STM32 微控制器采用多种不同方法来保护 Flash 代码,避免复制和逆向工程。
本应用笔记描述了通用 STM32 系列的 Flash 保护功能。重点关注 Proprietary Code Read Out Protection(PCROP),它内嵌于中等容量的 STM32L151xC、 STM32L152xC、 STM32L162xC 和 STM32L100xC微控制器中。
表 1 列出了本应用笔记涉及的微控制器。

表 1. 适用产品
1.png

1、 Flash 代码保护

STM32 微控制器系列产品具有下列代码保护功能:

1. 全局读保护 (Read-out Protection, RDP)
2. 写保护
3. 专有代码读保护 (Proprietary Code Read Out Protection, PCROP)这些功能用来保护嵌入式固件代码的知识产权,这表示对复杂嵌入式系统的关注正在日益增加。

1.1 全局读保护 (RDP)

全局读保护可保护嵌入式固件代码 (预加载到闪存中),避免逆向工程、使用调试工具读出或其他方式的入侵攻击。

该保护在二进制代码载入嵌入式闪存后,由用户进行设置。

表 2 描述了 3 个用户定义的保护级别。
表 2. RDP 保护级别
2.png
一旦用户代码被载入闪存中,即可避免代码倾出。可通过激活级别 1 或级别 2 保护来实现,或者通过 RDP 选项字节按照图 1. 中所示的准则进行编程。
图 1. RDP 级别
3.png
两个保护级别 (1 和 2)都可以保护闪存。其内容不可被 Serial Wire 或 JTAG Debug 访问、自举程序系统软件或通过向易失性 RAM 存储器载入其他软件来读取。

两个保护级别的主要区别在于易失性数据 (RAM 内容)保护,此保护仅存在于级别 2 中。

RDP 保护被设为级别 1 时,调试工具仍然能够连接和访问 MCU (RAM 和寄存器)的所有易失性资源。这些工具通过向 RAM 载入一些测试代码来检查部件和 / 或系统。

并且,级别 1 保护允许通过擦除全部 Flash 内容来恢复已编程部分。可通过将 RDP 选项字节从级别 1 重新编程为级别 0 来实现 (参见图 1)。

另一方面,级别 2 保护是不可逆的 (熔断)。一旦 RDP 设为级别 2, RDP 选项字节和所有其他选项字节都会被冻结,不能再修改。

但是,用户 Flash 内容 (除了所有写保护扇区,参见第 1.2 节:写保护)在用户代码本身的控制下仍然可被更新。通过执行 IAP (In Application Programming,在应用编程)自举程序代码来允许一些扇区的固件更新。

为了确保能够保护预先编程的用户代码,自举程序协议可以由用户指定 (执行相关保护来避免攻击、倾出和 / 或恶意代码更新)。

.............

想了解更多,请下载原文阅读
回复

使用道具 举报

0

主题

2

回帖

0

蝴蝶豆

新手上路

最后登录
2019-5-9
发表于 2019-5-9 19:25:25 | 显示全部楼层
怎么得到分数
回复 支持 反对

使用道具 举报

6

主题

930

回帖

133

蝴蝶豆

金牌会员

最后登录
2020-12-9
发表于 2019-5-12 21:58:05 | 显示全部楼层
已收藏
回复 支持 反对

使用道具 举报

请先关注话题后回复
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版