STM32F05x加入RDP(LV1)后,Segger无法Unlock的解决办法
沿用之前CM3核的STM32F10X系列的加入RDP功能,之后在Segger的Unsecured Chip或者Unlock STM32的Cmd無法進行去除RDP,而Unlock STM32則提示無法識別該型號。嘗試了很多方法,依然無法對其進行Remove RDP,估計是型號比較新,Segger還未完全支持吧。所用 的Segger為官方最新的Release跟Beta版本V4.65d跟V4.67c/
估計可用的方法有以下三種:
? ? ? ?1、配置Boot區,用System bootloader啟動,Boot1 = 0,Boot0=1,然后用串口ISP的A上位機對其進行去除讀保護;
? ? ? ?2、配置Boot區,用SRAM運行程序,在SRAM的主程序中執行去除RDP操作;
? ? ? ?3、購買了STLink II,下載STVP,選擇Option Byte的編程,將Option Byte重新設定為LV0;
? ? ??
? ? ? ?以上只驗證了第三個方法,因為硬件已經固定。驗證通過,完美去除RDP!
? ? ? 附上加入RDP的方法: ? ? ?
if(SET != FLASH_OB_GetRDP()){FLASH_Unlock(); //必須加,否則會出錯FLASH_OB_Unlock();FLASH_OB_RDPConfig(OB_RDP_Level_1);FLASH_OB_Lock();FLASH_Lock();FLASH_OB_Launch(); //這句話一定加上,將自動復位加載,否則第一次上電,RDP并未生效,需要復位后才能生效。}
重大更新:
寫這篇文章到現在有一年了,最近剛更新了KeilMDK5.0,也趁這個時候在Segger官網下載了最新的V4.78e,此時再加入RDP后,使用J-Flash的Unsecured chip功能,能成功的將之前J-Flash版本不能去除RDP的bug。
? ?
總結
以上是生活随笔為你收集整理的STM32F05x加入RDP(LV1)后,Segger无法Unlock的解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CVPR2020/UDA/图像翻译-Cr
- 下一篇: 【题解】座位安排