在工作中遇到了需要對stm32的部分flash中的代碼進行寫保護的需求。
一開始調查發現可以使用stm32的官方軟件 stm32 stlink utility或者更新版本的stm32CubeProgrammer對指定的flash頁進行寫保護操作。
雖然用上面的方式可以達到目的,不過 爲了生存部門的方便,我在網上搜尋能否在自動下載的時候把寫保護的操作一起做了。
因爲現在生產部門使用的一種正點原子出品的。離線下載器,而這種離線下載器並不支持寫入 寫保護命令的功能(只支持讀保護)。
在緊急時刻,發現在正點原子的論壇裏面,有人說已經通過代碼實現了這個功能。可是並沒有告訴如何實現。
於是就去官方的flash.c文件裏面去搜索,果然有FLASH_Status FLASH_EnableWriteProtection(u32 FLASH_Pages) 這個函數。
接着直接調用,Flash_Pages這個入口參數使用FLASH_WRProt_Pages0to3等官方定義的宏定義。調用執行後,再用CubeProgrammer查看,並沒