分享STM32代碼讀保護個人解決方案
驗證方法,可以使用一個沒有加讀保護的芯片,重復步驟中的3,連接上之后,read back一下,看看是否能讀出?
然后再使用一個加了讀保護的芯片,重復步驟中的3,連接之后,read back一下,看看是不是真的不能讀出了,如果成功加了讀保護,它會一直停在那里,數(shù)據(jù)一直讀不出來,最后彈出一個錯誤警告!
到此,讀保護已經(jīng)加載進去了!
可是有的時候,你突然發(fā)現(xiàn)你的代碼需要更新,如果你不解除讀保護功能的話,你將很難再次將程序寫入,解除方法也就是步驟中的5項中的反操作:Target---Unsecure chip
解除成功后,你就可以再次寫入你更新后的代碼了。并沒有網(wǎng)友所說的要更改BOOT0和BOOT1的設置,等等。。。
這個加載代碼讀保護功能的步驟可能對有些人來說還是比較麻煩的,畢竟產(chǎn)品多的時候,寫入之后還要按一下寫保護命令,對于產(chǎn)線操作員來說,可能一時疏忽忘記其中一個,就會造成代碼的外泄,是不是應該還有更簡單的辦法一鍵寫入呢,答案是肯定的!
可惜此方法不是我發(fā)現(xiàn)的,是我們的項目經(jīng)理
具體做法,就是要在生成HEX文件之前,要多幾個步驟
1.首先,加載: C:KeilARMBoardsKeilMCBSTM32Blinky文件夾中的一個STM32F10xOPT.s文件
2.修改下面兩個值為1
3.生成HEX文件之前務必進行一下此配置
這樣的話,就簡單的一個HEX文件就會使你的產(chǎn)品流入市場之后,即便是被抄板成功,也不會是代碼流出了
當然,必須保證自己公司的員工不會外泄。。。
個人之見,如果大家有更好的方法,請指教一下!謝謝
評論