前言
软件提供商开发的复杂中间件解决方案(知识产权(IP) 代码)需要进行保护。
这种IP 代码必须能够以终端用户应用程序插件的形式来构建完整的解决方案。全局保护机
制会通过专用的应用程序编程接口(API) 限制对该代码的访问,同时会防止任何读访问。
本应用笔记概括介绍了用于防止专有代码被终端用户代码、调试器工具或RAM 木马代码读
出的机制。该机制提供了全面的API,因此IP 代码可由终端用户应用程序轻松调用,并且仍
可防止直接访问IP 代码本身。
建议使用的解决方案基于MPU 功能以及终端用户应用程序和IP 代码中的特殊存储器和外设
管理机制。
在STM32 专有代码保护方法中,会使用两种保护级别:
全局读出保护(全局ROP):通过STM32 ROP 防止IP 代码和终端用户代码(被调试器
工具或RAM 木马代码)直接读取。
IP 代码读出保护(IP ROP):通过MPU 防止IP 代码被终端用户代码(可能是木马代码)
读取。
因为一旦激活了全局ROP,用户就不再能够完全控制Flash 编程,因此主应用程序(IP 代
码)必须嵌入IAP 层。该IAP 可在不破坏受保护代码区域的同时加载终端用户应用程序。
若需完整解决方案的更详细信息,请联系您本地的ST 销售代表。
目录
1 代码保护概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 版本历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1 代码保护概述
Flash 存储器分为两个主要区域:
主应用程序代码:包含IP 存储器保护代码、需要保护的IP 代码以及启用终端用户应用程
序加载的IAP 代码。
用户代码:包含终端用户应用程序,使用IP 存储器保护代码提供的主系统应用程序API
在保护模式下提供对IP 代码的访问。
--------------------------------------