如今電子產品市場風云變幻,暗流洶涌,有沒有小伙伴遇到自己費了大力氣寫出來的代碼,很容易就被別人“借鑒”了,真的是讓聞者傷心,聽著落淚啊。
那有沒有什么方法可以防止別人將你的代碼從MCU讀出來呢?答案當然是肯定的,GD32 MCU全系列都有“讀保護”功能,我們以GD32F30x系列為例,來看下用戶手冊中的選項字節的介紹:
我們可以看到,地址0x1fff f800存儲的是安全保護值,也就是我們所說的讀保護。當該值為0xA5的時候,MCU處于無保護狀態,此時可以通過Jlink、GDlink配合一些上位機比如Jflash、GDlink Programmer就可以讀出,當然,通過串口ISP也可以讀出代碼;當讀保護值為非0xA5時,就說明MCU已經進入讀保護狀態了,此時除了MCU自己的程序可以訪問flash外,其他方式的片上flash訪問都是無效的。所以,讀保護加上后小伙伴們就可以不用擔心代碼被別人讀出來了。
所以加讀保護和解除讀保護的操作就很好理解了,實際上就是對選項字節進行操作,將0x1fff f800地址的值設置為保護值/非保護值就可以了。
這時候有小伙伴就會問了,那既然讀保護狀態可以解除,別人拿到我的芯片,先解除保護,再讀出來不就可以了?實際上這個問題完全不用擔心,當MCU被加讀保護后,MCU內部同時也給Flash上的數據增加了一個“自毀裝置”,當有人對芯片進行解保護操作的時候,這個“自毀裝置”就會將Flash上所有的數據都清空,這時候從芯片讀出來的數據就是沒有用的“空”數據啦。
小伙伴現在知道什么是讀保護了嗎?我們后面也會介紹加讀保護和去除讀保護的方法哦。
-
單片機
+關注
關注
6032文章
44516瀏覽量
632984 -
mcu
+關注
關注
146文章
16990瀏覽量
350307 -
GD32
+關注
關注
7文章
403瀏覽量
24219
發布評論請先 登錄
相關推薦
評論