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

STM32L4、STM32L4+和STM32G4系列 微控制器上的专利代码读取保护

[复制链接]
STMCU小助手 发布时间:2023-2-11 22:16
引言 软件提供商正在开发被称为IP(知识产权)代码的复杂中间件解决方案,保护它们对微控制器而言是一个非常重要的问题。 % o4 B/ b: x+ R
为了满足这一重要要求,STM32L4、STM32L4 +和STM32G4系列MCU可提供以下保护功能:
: M: }9 @1 ]0 X% [- L • 读取保护(RDP):防止进行读取操作 " }& \/ S5 u7 x+ L9 T
• 写保护:防止进行不需要的写入或擦除操作 8 W% E5 V7 F9 V+ N; `
• 专利代码读取保护(PCROP):防止在闪存和SRAM存储器上进行读写操作。 3 W* g/ {. l' P9 `/ ~; U: T$ W; c
• 防火墙:针对外部进程为敏感代码和数据提供访问保护。   R& J6 u' x( l5 u+ R+ A1 l5 q
/ ?) b" U9 _/ h5 s
本应用笔记对这些闪存保护功能进行了说明,重点介绍了专利代码读取保护(PCROP),并提供了PCROP保护的基本示例。
4 u- h2 k( x. n( y- y  H
本文档随附的X-CUBE-PCROP固件封装包含了PCROP示例的源代码,以及基于STM32L4系列微控制器运行示例所需的所有固件模块,并且该封装可轻松移植到STM32L4 +和STM32G4系列微控制器上。
2 a6 p3 F3 P  T! U0 ?$ ?* e. }; r& _! d( T/ |* Z/ Q3 \" V
3 ~, l0 u) @1 ~: ~  [+ E6 ?2 n
1 单分区存储器保护说明
4 l, Z: w" \6 {# ~: K5 O 基于Arm®(a)内核的STM32L4、STM32L4+和STM32G4系列微控制器采用多种机制,可对全存储器或特定段进行读写保护。. u! M/ _- I. p
读保护用于保护代码免受外部访问的转储(SW IP保护),而写保护用于保护代码或数据不被意外擦除。除闪存外,这些保护还扩展到STM32L4和STM32L4+系列的SRAM2,以及STM32G4系列的CCM(内核耦合存储器)SRAM。
, F0 K) k7 [. E3 _+ ASTM32L4xx MCU还具有防火墙机制,可在存储器中创建受信执行区域。
6 d: C( v) w+ T( v6 q- B+ Q1 n
! v4 ]" `, u, P0 o. ]
1.1 读取保护(RDP)
0 p. V- t6 D& r. W, e 读取保护是全局闪存读保护,可保护嵌入式固件代码,可以预防复制、逆向工程、使用调试工具读出或其他方式的入侵攻击。该保护应在二进制代码载入嵌入式闪存后,由用户进行设置。读取保护适用于:0 |, }2 v# \, v$ ]$ D
• 主闪存
% h' O$ q$ ^3 O" s. q• 实时时钟(RTC)中的备份寄存器
; P! x. {# o* |6 t  l5 ]• SRAM2(STM32L4/STM32L4+)或CCM-SRAM(STM32G4)1 r8 b3 V; [1 v- E
• 选项字节(仅限级别 2)。$ |: d4 T8 Q/ }, e
以下章节中对三个RDP级别(0,1和2)进行定义和描述。5 v5 l; T6 n. |- ^5 g

1 }+ R( e$ ]: L6 V 1.1.1 读保护级别07 w- ~, G% ?+ V7 G0 r2 L/ X
级别0是默认级别,闪存完全打开,可在所有引导配置(调试功能,从RAM、从系统内存引导加载程序或从闪存启动)下进行全部内存操作。在这种模式下没有保护,该模式可满足开发和调试需求。
1 l+ w, E3 P0 J. y. B" z" f( E

5 d' M+ W2 l9 | 1.1.2 读保护级别1 ; d6 }5 _9 r0 \6 n
激活读保护级别1时,即使是从SRAM或系统内存引导加载程序来启动,也不能使用调试功能(如串行线路或JTAG)分别访问(读取,擦除和编程)STM32L4/L4+和STM32G4系列的闪存或SRAM2和CCM-SRAM。在这些情况下,任何对受保护区域的读请求都会生成总线错误。
; S5 G/ O' I3 I' B9 Q1 h 但是,当从闪存启动时,则允许从用户代码访问闪存和SRAM2(STM32L4/L4+)或CCM-SRAM(STM32G4)。# p# x1 K8 r: a7 n3 p; Z

! @- h; ^; B5 _2 B将RDP选项字节重新编程为级别0,可禁用RDP级别1保护,这会导致闪存被批量擦除;而且SRAM2(STM32L4/L4+)或CCM-SRAM(STM32G4)和备份寄存器会复位。; c& j* i  L1 h/ L& K
* D+ f/ I; a8 x
1.1.3 读保护级别22 L& s0 q# a5 A$ m
激活RDP级别2时,级别1下提供的所有保护均有效,MCU受到全面保护。RDP选项字节和所有其他选项字节都会被冻结,不能再修改。JTAG、SWV(单线查看器)、ETM和边界扫描全部禁用。! k' R8 d3 `( D) q! K% Q7 k. T

8 X5 O4 U% i6 `5 p
6 a! o7 a& t1 x8 t& ^
从闪存启动时,用户代码可以访问内存内容。但是,不再能从SRAM或从系统内存引导加载程序启动。
/ F3 t) n! s/ D
3 [# R- @7 y( k3 N" E
7 T, C4 w/ P7 _, @* F  B' ?6 P
这种保护是不可逆的(JTAG熔断),所以不能回到保护级别1或0。6 g+ J) H: P  t0 U1 y

1 U3 T$ h6 |# Z7 \
  f7 e# j+ S! s$ h
R[RIHB}}@`8OTR}GEUJ%FQY.png
& o5 U1 T9 j8 K; t% H8 F$ E8 ]" r8 R" e) M, l
1.1.4 受RDP保护的STM32内部闪存内容更新
/ @5 {4 o+ J; p3 G当Flash RDP保护激活时(级别1或级别2),内部闪存内容不能通过调试进行更新,或者当从SRAM或系统内存引导程序启动时也不能更新。因此对最终产品的一个重要要求就是,能够将内部闪存中的嵌入式固件升级为新的固件版本,添加新功能并修正潜在问题。该要求可以通过实现用户专用固件来解决,使用诸如USART的通信协议来进行重新编程过程,从而执行内部闪存的应用内编程(IAP)。
% ^. B  i; a8 g
5 y8 t" E, z6 L( e7 x: R" ~1.2 写保护
6 b0 A: W- Q1 e写保护用来保护指定内存区域的内容,避免更新或擦除代码段或非易失性数据。
& x  u( D- z$ m- J# ], q+ E, H( o) V9 J/ X2 G) i( j' h
$ Z# r) X: ]9 U$ @' r; u# F
1.2.1 闪存写保护
3 y: b/ `8 ?) q' z( c+ l写保护区域的数量取决于闪存架构。
3 N% ?, V+ P( |对于STM32L4和STM32L4+系列,每个闪存中可以以2KB粒度定义最多2个区域。7 h* ?" U9 e% Y2 @7 u, B# _5 W* s, ~
STM32G4 3类设备能够以单分区或双分区工作。7 v0 Z) C- v0 n9 U' Y: i& Y' e
• 在单分区模式(DBANK = 0)中,最多能够以4 KB的粒度定义四个写保护区域。
; d  U/ ?( c# T2 ?" `  U! E• 在双分区模式(DBANK = 1)中,最多可以定义两个写保护区域3 `" O, G2 N, v/ @, u2 Q
每个存储库中2 KB的粒度。STM32G4 Cat2设备只能在单个闪存库中工作。能够以2 KB粒度定义两个写保护区域。
6 q8 ^8 Q4 K2 D/ K图 1中的灰色区域是具有两个粒度为2 KB的写保护(WRP)区域的双分区结构的示例。
0 ?! N2 ]) l9 |2 }9 I
/ t1 m5 j: {7 `
) N% i1 H* _6 L- m& w  u- \ NYV27(QS}(4S7RKY9R)$UFP.png
8 ?: R7 `% g% a* P2 o% u( Q
$ G, T! t1 z7 e& }受保护区域无法被擦除和编程,任何写请求都会产生写保护错误。如果要擦除/编程的地址属于闪存中处于写保护状态的区域,则通过硬件将WRPERR标志置位。例如,如果闪存中至少有一页是写保护的,则不能对其进行批量擦除,并且设置WRPERR标志可通过嵌入式用户代码或使用STM32 ST-Link Utility软件和调试接口,进行使能或禁用写保护管理。
% F) V# A2 T/ ?6 J9 q- b' B/ R* Y# a, `

9 B$ P  V" x& g* e, S0 ]: R, s完整版请查看:附件8 j2 `/ ~7 g2 c" ^; r! z. M% S
* s2 D$ Z) J9 A& r
) X. S1 b  G4 l7 ^" a& L7 J5 z

STM32L4、STM32L4 和STM32G4系列微控制器上的专利代码读取保护.pdf

下载

1.18 MB, 下载次数: 2

收藏 评论0 发布时间:2023-2-11 22:16

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版