一、选项字节与读写保护
在实际发布的产品中,在STM32芯片的内部FLASH存储了控制程序,如果不作任何保护措施的话,可以使用下载器直接把内部FLASH的内容读取回来,得到bin或hex文件格式的代码拷贝,别有用心的厂商会利用该方法山寨产品。为此,STM32芯片提供了多种方式保护内部FLASH的程序不被非法读取,但在默认情况”下该保护功能是不开启的,若要开启该功能,需要改写内部FLASH选项字节(Option Bytes)中的配置。
1、选项字节的内容
选项字节是一-段特殊的FLASH 空间,STM32芯片会根据它的内容进行读写保护配置,选项字节的构成见表46-1。
STM32F103系列芯片的选项字节有8个配置项,即上表中的USER、RDP、DATA0/1及WRP0/1/2/3,而表中带n的同类项是该项的反码,即nUSER的值等于(~USER)、nRDP的值等于(~RDP),STM32利用反码来确保选项字节内容的正确性。选项字节的8个配置项具体的数据位配置说明见表46-2。
我们主要讲解选项字节配置中的 RDP 位和 WRP 位,它们分别用于配置读保护和写保护 。