- 32
- 0
- 约2.54千字
- 约 15页
- 2021-09-24 发布于北京
- 举报
零死角玩转STM32
扫描进入淘宝店铺
主讲内容
01
选项字节与读写保护
03
操作选项字节的库函数
04
02
修改选项字节的过程
参考资料:《零死角玩转STM32》
“设置FLASH的读写保护及解除”章节
实验:设置读写保护及解除
设置FLASH的读写保护及解除
选项字节与读写保护
在实际发布的产品中,在STM32芯片的内部FLASH存储了控制程序,如果不作任何保护措施的话,可以使用下载器直接把内部FLASH的内容读取回来,得到bin或hex文件格式的代码拷贝,别有用心的厂商即可利用该代码文件山寨产品。为此,STM32芯片提供了多种方式保护内部FLASH的程序不被非法读取,但在默认情况下该保护功能是不开启的,若要开启该功能,需要改写内部FLASH选项字节(Option Bytes)中的配置。
设置FLASH的读写保护及解除
选项字节的内容
选项字节是一段特殊的FLASH空间,STM32芯片会根据它的内容进行读写保护、复位电压等配置,选项字节的构成如下:
地址
[63:16]
[15:0]
0x1FFF C000
保留
ROP 和用户选项字节 (RDP USER)
0x1FFF C008
保留
扇区 0 到 11 的写保护 nWRP 位
0x1FFE C000
保留
保留
0x1FFE C008
保留
扇区 12 到 23 的写保护 nWRP 位
设置FLASH的读写保护及解除
选项字节的内容
选项字节具体的数据位配置:
设置FLASH的读写保护及解除
选项字节的内容
选项字节具体的数据位配置:
主要讲解选项字节配置中的RDP位和PCROP位,它们分别用于配置读保护级别及代码读出保护。
设置FLASH的读写保护及解除
RDP读保护级别
修改选项字节的RDP位的值可设置内部FLASH为以下保护级别:
0xAA:级别0,无保护
这是STM32的默认保护级别,它没有任何读保护,读取内部FLASH及“备份SRAM”的内容都没有任何限制。(注意这里说的“备份SRAM”是指STM32备份域的SRAM空间,不是指主SRAM,下同)
其它值:级别1,使能读保护
把RDP配置成除0xAA或0xCC外的任意数值, 都会使能级别1的读保护。在这种保护下,若使用调试功能(使用下载器、仿真器)或者从内部SRAM自举时都不能对内部FLASH及备份SRAM作任何访问(读写、擦除都被禁止);而如果STM32是从内部FLASH自举时,它允许对内部FLASH及备份SRAM的任意访问。
设置FLASH的读写保护及解除
RDP读保护级别
也就是说,在级别1模式下,任何尝试从外部访问内部FLASH内容的操作都被禁止,例如无法通过下载器读取它的内容,或编写一个从内部SRAM启动的程序,若该程序读取内部FLASH,会被禁止。而如果是芯片自己访问内部FLASH,是完全没有问题的,例如前面的“读写内部FLASH”实验中的代码自己擦写内部FLASH空间的内容,即使处于级别1的读保护,也能正常擦写。
当芯片处于级别1的时候,可以把选项字节的RDP位重新设置为0xAA,恢复级别0。在恢复到级别0前,芯片会自动擦除内部FLASH及备份SRAM的内容,即降级后原内部FLASH的代码会丢失。在级别1时使用SRAM自举的程序也可以访问选项字节进行修改,所以如果原内部FLASH的代码没有解除读保护的操作时,可以给它加载一个SRAM自举的程序进行保护降级,后面我们将会进行这样的实验。
设置FLASH的读写保护及解除
RDP读保护级别
0xCC:级别2,禁止调试
把RDP配置成0xCC值时,会进入最高级别的读保护,且设置后无法再降级,它会永久禁止用于调试的JTAG接口(相当于熔断)。在该级别中,除了具有级别1的所有保护功能外,进一步禁止了从SRAM或系统存储器的自举(即平时使用的串口ISP下载功能也失效),JTAG调试相关的功能被禁止,选项字节也不能被修改。它仅支持从内部FLASH自举时对内部FLASH及SRAM的访问(读写、擦除)。
由于设置了级别2后无法降级,也无法通过JTAG、串口ISP等方式更新程序,所以使用这个级别的保护时一般会在程序中预留“后门”以更新应用程序,若程序中没有预留后门,芯片就无法再更新应用程序了。所谓的“后门”是一种IAP程序(In Application Program),它通过某个通讯接口获取将要更新的程序内容,然后利用内部FLASH擦写操作把这些内容烧录到自己的内部FLASH中,实现应用程序的更新。
设置FLASH的读写保护及解除
RDP读保护级别
不同级别下的访问限制如下表:
设置FLASH的读写保护及解除
RDP读保护级别
不同保护级别之间的状态转换图:
设置FLASH的读写保护及解除
PCROP代码读出保护
在STM32F42xx及
您可能关注的文档
最近下载
- 金田JTE 388系列变频器使用手册.pdf
- 第五章+中国的地理差异+课件-2023-2024学年八年级地理下学期人教版.pptx VIP
- 第五章+中国的地理差异+第1课时+课件-2023-2024学年八年级地理下学期人教版.pptx VIP
- 【地理】中国的地理差异第1课时课件-2025-2026学年人教版地理八年级下册.pptx VIP
- 第五章+中国的地理差异+第1课时课件2022-2023学年人教版地理八年级下册.pptx VIP
- ACI_318-05美国混凝土结构设计规范(中文版).docx VIP
- 东北师范大学2024-2025学年第2学期《线性代数》期末试卷(A卷)及参考答案.docx
- 2025年会考政治江苏真题及答案.doc VIP
- 人教版八年级下册地理 第五章第1课时 中国的地理差异 说课课件.ppt VIP
- 第五章 中国的地理差异 说课课件(26张PPT) 2024-2025学年八年级地理下学期人教版.pptx VIP
原创力文档

文档评论(0)