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

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

[复制链接]
eefishing 发布时间:2019-5-9 10:35
本帖最后由 eefishing 于 2019-5-9 10:42 编辑 ; \' i2 s  ~: E$ `
) v* c6 I2 f+ O
前言
8 Q" `: \) s5 O
, Y/ u. u( W6 J! ^. c4 [在微控制器领域,对嵌入式代码的知识产权保护已经成为被高度重视的问题。为了提供这方面的保护,STM32 微控制器采用多种不同方法来保护 Flash 代码,避免复制和逆向工程。
2 `7 x: C: r& v* c. j) |: _本应用笔记描述了通用 STM32 系列的 Flash 保护功能。重点关注 Proprietary Code Read Out Protection(PCROP),它内嵌于中等容量的 STM32L151xC、 STM32L152xC、 STM32L162xC 和 STM32L100xC微控制器中。
3 D: K# @% C1 g$ p* q1 m; M/ ~. o9 _表 1 列出了本应用笔记涉及的微控制器。8 x5 s+ I0 K' t; p7 ~

" ^4 a/ ]- J% U0 t: A
表 1. 适用产品
1.png

# b# Q2 [/ H' I+ c) m+ @: _1 m
1、 Flash 代码保护
9 F, O1 [3 W0 W% i& p' x
STM32 微控制器系列产品具有下列代码保护功能:
4 Z  N6 `  N) K# z3 `" d
1. 全局读保护 (Read-out Protection, RDP)
2. 写保护
3. 专有代码读保护 (Proprietary Code Read Out Protection, PCROP)这些功能用来保护嵌入式固件代码的知识产权,这表示对复杂嵌入式系统的关注正在日益增加。

% B! w+ b& L7 K5 g4 ]
1.1 全局读保护 (RDP)
7 i$ A5 b0 R$ ]1 C5 d& c
全局读保护可保护嵌入式固件代码 (预加载到闪存中),避免逆向工程、使用调试工具读出或其他方式的入侵攻击。

* \. S' `5 e% w
该保护在二进制代码载入嵌入式闪存后,由用户进行设置。
$ R; I# F2 b0 ^4 P8 |3 y- y- h
表 2 描述了 3 个用户定义的保护级别。
表 2. RDP 保护级别
2.png
一旦用户代码被载入闪存中,即可避免代码倾出。可通过激活级别 1 或级别 2 保护来实现,或者通过 RDP 选项字节按照图 1. 中所示的准则进行编程。
图 1. RDP 级别
3.png
两个保护级别 (1 和 2)都可以保护闪存。其内容不可被 Serial Wire 或 JTAG Debug 访问、自举程序系统软件或通过向易失性 RAM 存储器载入其他软件来读取。

! }7 |1 y  z# P3 E  n
两个保护级别的主要区别在于易失性数据 (RAM 内容)保护,此保护仅存在于级别 2 中。

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

( A5 h9 f! u) N  K" N/ y
并且,级别 1 保护允许通过擦除全部 Flash 内容来恢复已编程部分。可通过将 RDP 选项字节从级别 1 重新编程为级别 0 来实现 (参见图 1)。
# K3 v5 r2 @& a0 W
另一方面,级别 2 保护是不可逆的 (熔断)。一旦 RDP 设为级别 2, RDP 选项字节和所有其他选项字节都会被冻结,不能再修改。
7 q# a! T7 Z* h* {0 i8 u( D' D
但是,用户 Flash 内容 (除了所有写保护扇区,参见第 1.2 节:写保护)在用户代码本身的控制下仍然可被更新。通过执行 IAP (In Application Programming,在应用编程)自举程序代码来允许一些扇区的固件更新。

; E1 s# l; t. k' z. h
为了确保能够保护预先编程的用户代码,自举程序协议可以由用户指定 (执行相关保护来避免攻击、倾出和 / 或恶意代码更新)。
% F; ?4 X% Y$ t( m+ m+ v. z4 v
.............
2 o$ o( s5 s* z$ Q& n4 ]5 F4 y
想了解更多,请下载原文阅读
收藏 1 评论2 发布时间:2019-5-9 10:35

举报

2个回答
sj2828 回答时间:2019-5-9 19:25:25
怎么得到分数
Kevin_G 回答时间:2019-5-12 21:58:05
已收藏
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版