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

查看: 238|回复: 0

【中文文档】AN4701_STM32F4系列程序读出保护的专有代码

[复制链接]

450

主题

48

回帖

3

蝴蝶豆

社区小助手

最后登录
2020-7-30
发表于 2019-5-23 13:00:54 | 显示全部楼层 |阅读模式
前言
软件提供商开发了复杂的中间件解决方案(知识产权代码,或IP-Code),保护它们对于微控制器而言至关重要。
为了应对这一重要需求,STM32F4xx MCU具有以下功能:
• 读保护(RDP):防止进行读取操作
• 写保护:防止进行不需要的写入或擦除操作
• 专有代码读取保护(PCROP):防止进行读写操作
本应用笔记对这些闪存保护技术进行了说明,重点是专有代码读取保护(PCROP),并提供了PCROP保护的基本示例。
本文档随附的X-CUBE-PCROP固件封装包包含了PCROP示例的源代码,以及运行示例所需的所有固件模块。
本应用笔记必须与表 1中所列的参考手册一起阅读。这些文档及其对应的数据手册均可在www.st.com上获取。
表1. 参考文档
1.png
1 读保护(RDP)
读取保护是全局闪存读保护,可保护嵌入式固件代码,避免复制、逆向工程、使用调试工具读出或其他方式的入侵攻击。该保护应在二进制代码载入嵌入式闪存后,由用户进行设置。

1.1 读保护级别0
级别0是默认级别,闪存完全打开,可在所有引导配置(调试功能,从RAM、从系统内存引导加载程序或从闪存启动)下进行全部内存操作。这种模式下,没有保护(主要用于开发和调试)。

1.2 读保护级别1
激活读保护级别1时,即使是从SRAM或系统内存引导加载程序来启动,也不能使用调试功能(如串行线路或JTAG)访问(读取,擦除和编程)闪存或备用SRAM。
但是,当从闪存启动时,允许用户代码访问该内存和备用SRAM。
对受保护的闪存进行任何读取请求都会产生一个总线错误。
将RDP选项字节重新编程为级别0,可禁用RDP级别1保护,这会导致整体擦除。

1.3 读保护级别2
激活RDP级别2时,级别1所支持的所有保护均有效,芯片受到全面保护。RDP选项字节和所有其他选项字节都会被冻结,不能再修改。JTAG、SWV(单线查看器)、ETM 和边界扫描被禁用。
从闪存启动时,用户代码可以访问内存内容。但是,不再能从SRAM或从系统内存引导加载程序启动。
这种保护是不可逆的(JTAG熔断),所以不能回到保护级别1或0。
表 2描述了从内部闪存启动,或在调试,或从SRAM或系统内存引导加载程序启动时,对闪存、备用SRAM、选项字节和一次性可编程字节(OTP)的不同访问。
.............

想了解更多,请下载原文阅读
回复

使用道具 举报

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