<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    LPC2100系列ARM7微控制器的加密方法

    發布時間:2010-8-28 23:26    發布者:conniede
    關鍵詞: ARM芯片 , 加密
    1. 加密原理說明

    LPC2100系列ARM7微控制器是世界首款可加密的ARM芯片,對其加密的方法是通過用戶程序在指定地址上設置規定的數據。PHILIPS公司規定,對于LPC2100芯片(除LPC2106/2105/2104外),當片內FLASH地址0x000001FC處的數據為0x87654321時,芯片即被加密。在加密設置后,JTAG調試接口無效,ISP功能只提供讀ID及全片擦除功能。注意:將帶有加密設置的程序下載到芯片內部FLASH,在下一次系統復位后加密生效。

    2. 加密程序實現

    為了實現加密設置,用戶必須保證在0x000001FC處定義數據0x87654321。我們先來分析一下帶有加密設置的程序結構,如圖1所示,地址0x000000~0x00000020為異常向量表,若向量表中使用L DR指令跳轉,可以在0x00000020~0x00000040之間定義各個異常服務入口地址;在異常向量表之后,0x000001FC地址之前,這一小塊空間可以編寫部分初始化代碼或FIQ中斷處理程序;然后使用NOP指令填充,直到0x000001FC地址,在該地址上定義數據0x87654321即可,用戶的其它程序代碼緊跟其后。
                                        
                                                     異常向量表

    部分初始化代碼

    FIQ中斷處理
    NOP
    NOP

    DCD 0x87654321
    用戶代碼

                                          圖1 帶有加密設置的程序結構圖  

    加密程序的實現部分在LPC2100的起動代碼Startup.s文件中,如程序清單1所示。程序首先使用IF偽指令判斷是否已定義EN_CRP全局變量,若已聲明,則編譯程序清單1(2)~(8)的代碼,進行加密設置。說明:EN_CRP全局變量可以在匯編器中預定義或在該文件開頭用GBLA/GBLL聲明。

    程序清單1(2)是用來判斷當前代碼地址是否已超過0x000001FC,若超過則使用INFO偽指令顯示出錯信息,見程序清單1(3)。程序清單1(5)~(7)用于填充NOP指令,直到0x000001FC為此。程序清單1(8)即是在0x000001FC地址上定義數據0x87654321,以實現加密設置。

    0x00000000
    0x00000020
    0x000001FC

    程序清單1 LPC2100加密程序實現代碼 ;

    異常向量表





    IF :DEF: EN_CRP (1)

    IF . >= 0x1fc (2)

    INFO 1,"\nThe data at 0x000001fc must be 0x87654321.\nPlease delete some source before this line." (3)

    ENDIF (4)

    CrpData WHILE . < 0x1fc (5)

    NOP (6)

    WEND (7)

    CrpData1 DCD 0x87654321 (8)  

    ENDIF (9)  

    3. 工程模板中可加密的目標

    使用LPC2100專用工程模板建立的工程,當選用RelInFLASH目標時,將會生成帶有加密設置的程序。

    對于Thumb Executable Image for UCOSII(for lpc21xx) 工程模板,當選用ThumbRelInFLASH目標時,將會生成帶有加密設置的程序。
    本文地址:http://www.portaltwn.com/thread-24247-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷