新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 離線加密編程器中的BootLoader程序設(shè)計

離線加密編程器中的BootLoader程序設(shè)計

作者: 時間:2011-01-19 來源:網(wǎng)絡(luò) 收藏

引言

離線加密編程器是一種獨立于PC機,并通過SPI接口直接對ATmega系列單片機進行編程操作的設(shè)備。在整個系統(tǒng)中,編程器與目標(biāo)板之間的結(jié)合部分是一個最可能被解密的地方,因為可以通過抓取SPI總線上的時序得到所傳輸?shù)臄?shù)據(jù),因此編程器與目標(biāo)板之間傳輸?shù)臄?shù)據(jù)必須是經(jīng)過加密的。而有效的編程數(shù)據(jù)不能為加密數(shù)據(jù),所以加密數(shù)據(jù)需要經(jīng)過解密還原才能用于單片機的編程。本設(shè)計中BootLoader程序的作用就是接收離線加密編程器的加密數(shù)據(jù),對加密數(shù)據(jù)進行解密,然后完成目標(biāo)板的編程操作。首先編程目標(biāo)板單片機的BootLoaoler引導(dǎo)程序,最后與BootLoacler程序建立連接。編程器將加密數(shù)據(jù)傳送給。BootLoader程序,由BootLoacler程序?qū)用軘?shù)據(jù)進行解密,然后完成編程操作。這樣做既可以確保數(shù)據(jù)不被外界破解,又能方便程序的升級操作。BootLoader程序的下載對具有知識產(chǎn)權(quán)保護要求的離線編程器設(shè)計是一個關(guān)鍵步驟,它的成功與否直接決定離線編程器設(shè)計能否成功。本文將以ATmegal69為例進行BootLoader程序下載的介紹。

1 系統(tǒng)硬件設(shè)計

本系統(tǒng)主要由單片機、顯示部分、按鍵開關(guān)、存儲部分和串行通信部分等組成,硬件結(jié)構(gòu)框圖如圖1所示。

本文引用地址:http://butianyuan.cn/article/151069.htm

圖1中,AVR ATmegal69P(V)單片機是一種高性能、低功耗的8位微處理器,采用先進的RISC結(jié)構(gòu),130條指令大多數(shù)可以在1個時鐘周期內(nèi)完成,滿足了本系統(tǒng)對執(zhí)行速度的要求。它具有非易失性的程序和數(shù)據(jù)存儲器,16 KB的系統(tǒng)內(nèi)可編程Flash,具有4×25段的LCD驅(qū)動器的ATmegal69P(V),輸入電壓3.3 V,串行US—ART,可工作于主機/從機模式的SPI串行接口;存儲部分采用ATmel公司8個引腳的串口存儲芯片AT45DB041B,主存容量大小為528 KB,一共2 048頁,每頁264B,具有2個大小為265B的數(shù)據(jù)緩存,允許通知對存儲芯片進行讀寫,工作電壓為3.3 V。由于系統(tǒng)單片機的SPI通信口用來對目標(biāo)板進行編程,所以采用軟件模擬SPI對AT45DB041B進行讀寫;其通信部分分為與PC機的通信和與目標(biāo)板的通信。與PC機的通信采用USB接口,編程器內(nèi)部采用UART—USB轉(zhuǎn)換橋芯片PL一2303,在編程方式上等同于一個普通的UART接口,非常方便;與目標(biāo)板的通信是通過高速的SPI接口,達到對目標(biāo)板的編程操作;采用雙鍵制按鍵開關(guān),其中按鍵之一用來查詢下載器的各種信息,另外一個按鍵用來啟動對目標(biāo)板的下載操作;為了充分利用ATmegal69P(V)具有LCD驅(qū)動器的特點,采用段式LCD屏,可以縮小下載器的體積,操作方便。

2.gif



2 工作原理

2.1 幾個概念

①開發(fā)方:設(shè)計IP的開發(fā)單位或個人。
②IP擁有方:擁有離線加密編程器的知識產(chǎn)權(quán)方。
③客戶:離線加密編程器的使用者,需向IP擁有方購買離線加密編程器的各種軟硬件資源。

2.2 三方關(guān)系

開發(fā)方負責(zé)開發(fā)離線加密編程器的各種軟硬件,然后向IP擁有方提供各種所需的軟硬件資源,包括編程器硬件、上位機軟件,并且根據(jù)IP擁有方的要求編寫目標(biāo)板的程序。IP擁有方將軟硬件賣給客戶,客戶使用IP擁有方提供的與編程器相關(guān)的軟硬件對目標(biāo)板進行編程操作。開發(fā)方提供給IP擁有方的適合目標(biāo)板的程序是未經(jīng)過加密的,IP擁有方通過上位機軟件,自由選擇加密參數(shù),對未經(jīng)過加密的程序進行加密??蛻糍徺I到離線加密編程器后,可以選擇某一IP擁有方,并在選擇的IP擁有方處進行注冊。購買授權(quán)下載次數(shù),通過客戶端軟件將加密編程器進行授權(quán),此時,加密編程器具備了下載功能??蛻舾鶕?jù)自己的要求向自己注冊過的IP擁有方提出目標(biāo)板軟件購買意向,IP擁有方將客戶要求告知開發(fā)方,開發(fā)方根據(jù)要求進行軟件的編寫。軟件編寫成功后,開發(fā)方將軟件交給IP擁有方,IP擁有方將軟件進行加密,并交給客戶,客戶通過客戶端軟件將加密過的程序存儲到加密編程器。此時,客戶手中的加密編程器可以脫離PC機。客戶將編程器帶到現(xiàn)場對目標(biāo)板進行編程,直到授權(quán)下載次數(shù)用完為止。授權(quán)次數(shù)使用完畢后,客戶可以通過客戶端軟件提取加密編程器的授權(quán)購買請求文件,通過網(wǎng)絡(luò)將文件傳給IP擁有方,IP擁有方根據(jù)文件的內(nèi)容進行相應(yīng)的授權(quán)操作,然后將生成的授權(quán)文件通過網(wǎng)絡(luò)回傳給客戶,客戶通過客戶端軟件將授權(quán)文件下載到加密編程器,如果授權(quán)成功,那么編程器可以繼續(xù)使用。


上一頁 1 2 3 下一頁

關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉