<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        分享STM32代碼讀保護個人解決方案

        作者:黃賓山   來源:本站原創   點擊數:  更新時間:2014年03月03日   【字體:

        之前也看到有網友提出代碼保護的問題,辛苦寫的程序,怎么著也不想被別人拿去用!
        剛好前一段有個項目完成了,在產品發出去的時候按照老總吩咐,加了代碼的讀保護!
        現在就把之前的工作做個總結,以便哪天忘記,可來此查詢,也方便網友使用,當然,這個也可能有人發現了,如果你已經知道該方法,或者有更好的方法,請不吝賜教

        步驟:
        1.準備工作:HEX文件和JLINK驅動(本人使用的是Setup_JLinkARM_V415e)
        安裝完畢后,可以在開始--所有程序--SEGGER--J-Flash ARM打開該應用程序,如下圖
         

        先進行一下設置,對要寫入的芯片和寫入方式
        選擇JATG還是SWD
        選擇芯片型號
         

         

        2.打開要燒寫的HEX文件:File--Open data file ,可以下拉選擇HEX文件類型
         

        3.連接要寫入的芯片:Target--Connect
         

        4.寫入代碼:Target--Program & Verify(F6)
         

        (到此,就是代碼的寫入過程,下面是加讀保護的步驟)
        5.加讀保護:Target---Secure chip,點擊是,就是加上了讀保護!

        驗證方法,可以使用一個沒有加讀保護的芯片,重復步驟中的3,連接上之后,read back一下,看看是否能讀出?
         

        然后再使用一個加了讀保護的芯片,重復步驟中的3,連接之后,read back一下,看看是不是真的不能讀出了,如果成功加了讀保護,它會一直停在那里,數據一直讀不出來,最后彈出一個錯誤警告!
         

         

        到此,讀保護已經加載進去了!
        可是有的時候,你突然發現你的代碼需要更新,如果你不解除讀保護功能的話,你將很難再次將程序寫入,解除方法也就是步驟中的5項中的反操作:Target---Unsecure chip
        解除成功后,你就可以再次寫入你更新后的代碼了。并沒有網友所說的要更改BOOT0和BOOT1的設置,等等。。。


        這個加載代碼讀保護功能的步驟可能對有些人來說還是比較麻煩的,畢竟產品多的時候,寫入之后還要按一下寫保護命令,對于產線操作員來說,可能一時疏忽忘記其中一個,就會造成代碼的外泄,是不是應該還有更簡單的辦法一鍵寫入呢,答案是肯定的!
        可惜此方法不是我發現的,是我們的項目經理

        具體做法,就是要在生成HEX文件之前,要多幾個步驟
        1.首先,加載: C:\Keil\ARM\Boards\Keil\MCBSTM32\Blinky文件夾中的一個STM32F10xOPT.s文件
         
        2.修改下面兩個值為1
         

        3.生成HEX文件之前務必進行一下此配置
         



        這樣的話,就簡單的一個HEX文件就會使你的產品流入市場之后,即便是被抄板成功,也不會是代碼流出了
        當然,必須保證自己公司的員工不會外泄。。。

        個人之見,如果大家有更好的方法,請指教一下!謝謝

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮