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

AN3429:STM32 专有代码保护概述(中文译文)

[复制链接]
zero99 发布时间:2017-10-26 08:00
AN3429应用笔记
4 P( O: E$ l0 X/ D; vSTM32 专有代码保护概述7 t  I* g4 T( ~$ f# u5 r

$ a8 I/ S5 u$ p1 c5 z( {

1 D' j9 z7 ~5 d) z" j  ^/ r前言4 D% u4 {: m) O, K( t8 F
软件提供商开发的复杂中间件解决方案 (知识产权 (IP) 代码)需要进行保护。 $ O- Z3 K) _8 O, B
这种 IP 代码必须能够以终端用户应用程序插件的形式来构建完整的解决方案。全局保护机制会通过专用的应用程序编程接口 (API) 限制对该代码的访问,同时会防止任何读访问。
/ R6 B7 W; r4 J) Y* {3 T本应用笔记概括介绍了用于防止专有代码被终端用户代码、调试器工具或 RAM 木马代码读出的机制。该机制提供了全面的 API,因此 IP 代码可由终端用户应用程序轻松调用,并且仍可防止直接访问 IP 代码本身。
( F0 f. _, A0 T, m7 @8 m# d1 F/ i建议使用的解决方案基于 MPU 功能以及终端用户应用程序和 IP 代码中的特殊存储器和外设管理机制。) c* J% i0 P2 o* d
在 STM32 专有代码保护方法中,会使用两种保护级别:% B5 U( V# c' c* u3 Z
 全局读出保护(全局 ROP):通过 STM32 ROP 防止 IP 代码和终端用户代码(被调试器工具或 RAM 木马代码)直接读取。
- F) x/ G9 y: E$ I( R IP 代码读出保护 (IP ROP):通过 MPU 防止 IP 代码被终端用户代码(可能是木马代码)读取。9 N: c* `# J6 b4 D
因为一旦激活了全局 ROP,用户就不再能够完全控制 Flash 编程,因此主应用程序 (IP 代码)必须嵌入 IAP 层。该 IAP 可在不破坏受保护代码区域的同时加载终端用户应用程序。
' |4 U% d2 }. z7 R, n% x6 _, H) U若需完整解决方案的更详细信息,请联系您本地的 ST 销售代表。; @" Y& g" I# X2 L, }. \

' Y% j/ q0 L. @! l1 b' ^* _- N5 y1 C! I9 P

  \- Q( S- {% q# y6 h% _" h/ U- `$ r

0 ?7 }  j; z4 `8 l1、代码保护概述1 ]! p1 ^8 z9 `3 n4 j, u, I; D) k
Flash 存储器分为两个主要区域:
. v' e% D1 S4 s( P: @ 主应用程序代码:包含 IP 存储器保护代码、需要保护的 IP 代码以及启用终端用户应用程序加载的 IAP 代码。. m& d, j5 Y+ p8 n8 r
 用户代码:包含终端用户应用程序,使用 IP 存储器保护代码提供的主系统应用程序 API在保护模式下提供对 IP 代码的访问。2 [6 C0 |6 ~" A: L! E; w
图 1 举例说明了 Flash 存储器映射 (STM32F2 系列)
& i- i7 N% Q  I1 Z2 k$ v 11.png
' @5 i" x1 d' ^+ b/ c) s8 @; l( o
7 o3 d/ y1 y- T% g  E$ E1 yIP 代码的起始地址为 0x0801 0000,在链接器文件中的定义如下: ) f0 y& C! }' D( z5 r
define region IP_CODE_region = mem:[from 0x08010000 size 0x10000]; / E) u$ N1 _/ d- S3 R3 s
place in IP_CODE_region { section IP_Code };
3 V5 a4 W; l% R: M5 {  `& p在本例中,会通过 IAR 使用以下编译指示将要保护的函数强制加载到 IP 代码段: & W. ^7 F/ j' k1 r$ A/ E/ r) j
#pragma location="IP_Code"
. J! H- Q8 `* s, H6 K(函数定义); m3 b+ \7 a+ u6 S3 ]
终端用户项目会使用包含终端用户应用程序使用的函数 IP 代码 API 的 exported_api.h 文件。
: o. A& a+ b' c4 E3 }8 m* r
  A" c. H4 e, _...
4 F8 g. f9 D- w! V1 @6 R; {
9 G, p4 b# I8 q, l$ g6 h8 I  s8 n$ `
阅读更多内容,请下载文档:
6 Q3 W" r/ X' |3 v, u6 Z
- K  n4 F2 ?5 K1 W8 C3 p2 T下载地址1>>        下载地址2>>! T) {- g8 J8 b1 A8 J
赞 收藏 1 评论2 发布时间:2017-10-26 08:00

举报

2个回答
andey 回答时间:2017-10-26 09:18:42
提示: 作者被禁止或删除 内容自动屏蔽
斜阳 回答时间:2017-10-30 16:26:56
赞一个,可以用来做半成品,给用户做二次开发
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版