如今電子產(chǎn)品市場風云變幻,暗流洶涌,有沒有小伙伴遇到自己費了大力氣寫出來的代碼,很容易就被別人“借鑒”了,真的是讓聞?wù)邆模犞錅I啊。
那有沒有什么方法可以防止別人將你的代碼從MCU讀出來呢?答案當然是肯定的,GD32 MCU全系列都有“讀保護”功能,我們以GD32F30x系列為例,來看下用戶手冊中的選項字節(jié)的介紹:
![wKgZomXuWuaACFIyAAFT_6WZR3A131.png](https://file1.elecfans.com/web2/M00/C3/AC/wKgZomXuWuaACFIyAAFT_6WZR3A131.png)
我們可以看到,地址0x1fff f800存儲的是安全保護值,也就是我們所說的讀保護。當該值為0xA5的時候,MCU處于無保護狀態(tài),此時可以通過Jlink、GDlink配合一些上位機比如Jflash、GDlink Programmer就可以讀出,當然,通過串口ISP也可以讀出代碼;當讀保護值為非0xA5時,就說明MCU已經(jīng)進入讀保護狀態(tài)了,此時除了MCU自己的程序可以訪問flash外,其他方式的片上flash訪問都是無效的。所以,讀保護加上后小伙伴們就可以不用擔心代碼被別人讀出來了。
所以加讀保護和解除讀保護的操作就很好理解了,實際上就是對選項字節(jié)進行操作,將0x1fff f800地址的值設(shè)置為保護值/非保護值就可以了。
這時候有小伙伴就會問了,那既然讀保護狀態(tài)可以解除,別人拿到我的芯片,先解除保護,再讀出來不就可以了?實際上這個問題完全不用擔心,當MCU被加讀保護后,MCU內(nèi)部同時也給Flash上的數(shù)據(jù)增加了一個“自毀裝置”,當有人對芯片進行解保護操作的時候,這個“自毀裝置”就會將Flash上所有的數(shù)據(jù)都清空,這時候從芯片讀出來的數(shù)據(jù)就是沒有用的“空”數(shù)據(jù)啦。
小伙伴現(xiàn)在知道什么是讀保護了嗎?我們后面也會介紹加讀保護和去除讀保護的方法哦。
-
單片機
+關(guān)注
關(guān)注
6043文章
44621瀏覽量
638583 -
mcu
+關(guān)注
關(guān)注
146文章
17324瀏覽量
352655 -
GD32
+關(guān)注
關(guān)注
7文章
413瀏覽量
24474
發(fā)布評論請先 登錄
相關(guān)推薦
GD32 MCU 入門教程】GD32 MCU 常見外設(shè)介紹(12)FMC 模塊介紹
![<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 常見外設(shè)介紹(12)FMC 模塊介紹](https://file1.elecfans.com/web2/M00/04/87/wKgaombFSS2AWG-GAAB5lPnhR3c604.png)
![](https://file1.elecfans.com/web2/M00/C3/AD/wKgZomXuW5OAf0OFAArngjdCR4w869.png)
GD32的MCU介紹
JFlash解除GD32讀保護的方法
《GD32 MCU原理及固件庫開發(fā)指南》 + 初讀感悟
兆易創(chuàng)新GD32 MCU選型手冊,適用于GD32全系列MCU
不同型號的GD32 MCU如何區(qū)分?
![不同型號的<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>如何區(qū)分?](https://file1.elecfans.com/web2/M00/BE/A2/wKgZomW0XRKAe4O1AAAoMKUJ9lg082.png)
【GD32 MCU 入門教程】GD32 MCU 常見外設(shè)介紹(14)RTC 模塊介紹
![【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 常見外設(shè)介紹(14)RTC 模塊介紹](https://file1.elecfans.com/web2/M00/03/E0/wKgZombH42WAIyq2AAA3DFzN548758.png)
【GD32 MCU入門教程】GD32 MCU GPIO 結(jié)構(gòu)與使用注意事項
![【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>入門教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> GPIO 結(jié)構(gòu)與使用注意事項](https://file1.elecfans.com/web2/M00/06/89/wKgaombbu8qAXdJKAAAW--yDqzA279.png)
評論