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

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

[复制链接]
STMCU小助手 发布时间:2023-2-11 22:16
引言 软件提供商正在开发被称为IP(知识产权)代码的复杂中间件解决方案,保护它们对微控制器而言是一个非常重要的问题。
+ Z/ V8 ~6 k9 k$ X1 l# A# G9 r! y为了满足这一重要要求,STM32L4、STM32L4 +和STM32G4系列MCU可提供以下保护功能:) y6 y' @7 v! ^8 R8 I- H" @
• 读取保护(RDP):防止进行读取操作
( _! r, v! e  z) [' v• 写保护:防止进行不需要的写入或擦除操作
/ S% S1 J8 U$ M• 专利代码读取保护(PCROP):防止在闪存和SRAM存储器上进行读写操作。
( P+ O% J3 ~1 R, s% y! f: O• 防火墙:针对外部进程为敏感代码和数据提供访问保护。
- @/ K+ s! r3 g  Y& `8 M
/ G  o, X% W# q& n# N本应用笔记对这些闪存保护功能进行了说明,重点介绍了专利代码读取保护(PCROP),并提供了PCROP保护的基本示例。
; l* ]6 Y. ?" x# z% X- ?
本文档随附的X-CUBE-PCROP固件封装包含了PCROP示例的源代码,以及基于STM32L4系列微控制器运行示例所需的所有固件模块,并且该封装可轻松移植到STM32L4 +和STM32G4系列微控制器上。7 W, Z* x! G" |! ~
% o. l. U5 m/ z1 e& W% d

* Y3 `+ y# M3 X0 Z8 O7 z6 W1 单分区存储器保护说明8 \" L3 P5 D, I) P7 q% [5 M0 @. l1 i
基于Arm®(a)内核的STM32L4、STM32L4+和STM32G4系列微控制器采用多种机制,可对全存储器或特定段进行读写保护。
8 ?- M% Z) N) ?) `$ P8 y# d3 _ 读保护用于保护代码免受外部访问的转储(SW IP保护),而写保护用于保护代码或数据不被意外擦除。除闪存外,这些保护还扩展到STM32L4和STM32L4+系列的SRAM2,以及STM32G4系列的CCM(内核耦合存储器)SRAM。   x" i  P7 j# w3 J. C
STM32L4xx MCU还具有防火墙机制,可在存储器中创建受信执行区域。
# N  K7 w  P3 Q6 J/ Z
& {# j6 ?- `: `7 I6 w
1.1 读取保护(RDP)$ A0 D& s0 f" T" w% o
读取保护是全局闪存读保护,可保护嵌入式固件代码,可以预防复制、逆向工程、使用调试工具读出或其他方式的入侵攻击。该保护应在二进制代码载入嵌入式闪存后,由用户进行设置。读取保护适用于:0 M$ t9 u  i2 e. z4 t
• 主闪存
0 G6 l6 B7 O# v( E# T• 实时时钟(RTC)中的备份寄存器   i1 s  t3 E; o- x- D$ U% Z- H
• SRAM2(STM32L4/STM32L4+)或CCM-SRAM(STM32G4)( b3 B- J; f, ?; N
• 选项字节(仅限级别 2)。2 j1 x. }! `3 I6 z8 H
以下章节中对三个RDP级别(0,1和2)进行定义和描述。, W( X* `* E- |7 J% C2 c
* D$ R  c1 b1 P8 l. m( O
1.1.1 读保护级别0
" S% W& \- A* Z# `% d$ a 级别0是默认级别,闪存完全打开,可在所有引导配置(调试功能,从RAM、从系统内存引导加载程序或从闪存启动)下进行全部内存操作。在这种模式下没有保护,该模式可满足开发和调试需求。; p: d& `- y' A( e

3 g; L$ s& r, \) G: K$ F9 h 1.1.2 读保护级别1 0 h, M, \( D" b* f4 R
激活读保护级别1时,即使是从SRAM或系统内存引导加载程序来启动,也不能使用调试功能(如串行线路或JTAG)分别访问(读取,擦除和编程)STM32L4/L4+和STM32G4系列的闪存或SRAM2和CCM-SRAM。在这些情况下,任何对受保护区域的读请求都会生成总线错误。9 _- D1 [: u% d3 s4 ~2 s5 ~
但是,当从闪存启动时,则允许从用户代码访问闪存和SRAM2(STM32L4/L4+)或CCM-SRAM(STM32G4)。5 j- W0 y" @7 a1 w
; Y- o( t% Q& m7 y+ W
将RDP选项字节重新编程为级别0,可禁用RDP级别1保护,这会导致闪存被批量擦除;而且SRAM2(STM32L4/L4+)或CCM-SRAM(STM32G4)和备份寄存器会复位。
# e, t0 ?6 r6 d6 b8 A5 ~$ Z4 h4 @' K+ w+ {; C
1.1.3 读保护级别2
# o* V% s% i  d7 E  G激活RDP级别2时,级别1下提供的所有保护均有效,MCU受到全面保护。RDP选项字节和所有其他选项字节都会被冻结,不能再修改。JTAG、SWV(单线查看器)、ETM和边界扫描全部禁用。6 G. n& u5 P( h+ I( F

% h; L" @# L) w, y1 }% m9 F

3 B5 `: e+ F! k0 `5 W$ m从闪存启动时,用户代码可以访问内存内容。但是,不再能从SRAM或从系统内存引导加载程序启动。+ m% }$ V$ \( u/ l0 u
' Y5 E: C# c  f* y% Z! Y

( I: Y  M! u" v" U8 M9 E这种保护是不可逆的(JTAG熔断),所以不能回到保护级别1或0。0 |4 a7 V7 X8 S, B
! _' m. P! F: d8 j, a4 N

8 X5 F3 i$ s  e3 }; X R[RIHB}}@`8OTR}GEUJ%FQY.png
' D8 e5 c, c  h( q  \% X8 H1 b6 G
% ?0 a% _9 L: L5 P 1.1.4 受RDP保护的STM32内部闪存内容更新0 G9 i/ \  R' P4 ?$ \( C
当Flash RDP保护激活时(级别1或级别2),内部闪存内容不能通过调试进行更新,或者当从SRAM或系统内存引导程序启动时也不能更新。因此对最终产品的一个重要要求就是,能够将内部闪存中的嵌入式固件升级为新的固件版本,添加新功能并修正潜在问题。该要求可以通过实现用户专用固件来解决,使用诸如USART的通信协议来进行重新编程过程,从而执行内部闪存的应用内编程(IAP)。
' F( S' X6 V- f0 e, i# y7 c; t9 ^& s  _  h
1.2 写保护
7 x3 m* K* Z1 L+ a8 t8 b$ E# {写保护用来保护指定内存区域的内容,避免更新或擦除代码段或非易失性数据。/ L( f, U: [7 b
' _, \( y9 [% {1 s( m

  P6 r1 k) E5 O" w' f( @$ X8 \1.2.1 闪存写保护
' C$ i4 G3 `% B# y( O2 s: i写保护区域的数量取决于闪存架构。' i  ~1 G+ `! P8 K. ]& c6 z* e' I* H
对于STM32L4和STM32L4+系列,每个闪存中可以以2KB粒度定义最多2个区域。2 V+ a( r1 Y$ z' N6 C
STM32G4 3类设备能够以单分区或双分区工作。
6 Y7 ?3 K' g+ I• 在单分区模式(DBANK = 0)中,最多能够以4 KB的粒度定义四个写保护区域。& F+ }5 [% T) p3 l& w* U
• 在双分区模式(DBANK = 1)中,最多可以定义两个写保护区域
# }2 i0 L, J- A; w每个存储库中2 KB的粒度。STM32G4 Cat2设备只能在单个闪存库中工作。能够以2 KB粒度定义两个写保护区域。* E2 N, j: S% j! H. l0 }/ ^
图 1中的灰色区域是具有两个粒度为2 KB的写保护(WRP)区域的双分区结构的示例。
5 L' [+ D4 L" U+ w, U; s
2 \( g3 [1 X, _4 M' }. m. r% [" r$ _; ]7 x$ l8 T* V
NYV27(QS}(4S7RKY9R)$UFP.png
. ]- E9 X$ m2 ?4 B0 p' K8 D+ i
* H$ N+ T6 B: |6 R受保护区域无法被擦除和编程,任何写请求都会产生写保护错误。如果要擦除/编程的地址属于闪存中处于写保护状态的区域,则通过硬件将WRPERR标志置位。例如,如果闪存中至少有一页是写保护的,则不能对其进行批量擦除,并且设置WRPERR标志可通过嵌入式用户代码或使用STM32 ST-Link Utility软件和调试接口,进行使能或禁用写保护管理。
& l5 ^, e! k& r4 C, o8 t8 [% h. `4 F

# u  C$ r( y; S3 L# I: i完整版请查看:附件1 X4 G9 f8 \- A3 ~9 G4 Z

8 y3 B# f& |2 w0 Y1 }- L4 f$ W3 [0 j) D2 Y: Z! e  k

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

下载

1.18 MB, 下载次数: 3

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

举报

0个回答

所属标签

相似分享

官网相关资源

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