一、選項字節與讀寫保護
在實際發布的產品中,在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 位,它們分別用於配置讀保護和寫保護 。