日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]一種C55x DSP的串行引導(dǎo)與程序加密方法

摘要 以TI公司的TMS320VC5509A和SST公司的SST25LF080A為例,介紹了一種通過串口模式對Flash中的程序進(jìn)行二次加載和加密方法。文中還給出了相關(guān)硬件連接、自舉表的建立。實驗證明,采用該引導(dǎo)裝載系統(tǒng)具有較強(qiáng)的實用性,可以提高DSP軟件的保密性。
關(guān)鍵詞 TMS320VC5509A;SST25LF080A;串行引導(dǎo)

    隨著數(shù)字信號處理技術(shù)的發(fā)展,數(shù)字信號處理器(DSP)以其卓越的性能、獨(dú)有的特點,成為通信、計算機(jī)、消費(fèi)類電了產(chǎn)品等領(lǐng)域的基礎(chǔ)器件,被廣泛地應(yīng)用于各種數(shù)字信號處理系統(tǒng)中。由于數(shù)字信號處理器(DSP)內(nèi)部的ROM需要在生產(chǎn)時寫入程序,所以多數(shù)場合下,系統(tǒng)加電后,DSP需要將一段存儲在外部非易失性存儲器的代碼轉(zhuǎn)移到內(nèi)部高速存儲器單元中執(zhí)行,這樣既利用了外部的存儲單元擴(kuò)展了DSP本身有限的ROM資源,又充分發(fā)揮了DSP內(nèi)部資源的效能。目前Flash存儲器應(yīng)用最為廣泛,其兼有存取快速、電可擦除、可在線編程、大容量、低功耗、小尺寸、以及價格低廉等優(yōu)點,已成為新一代數(shù)字信號處理系統(tǒng)中的重要組成部分。但是,由于外部Flash存儲器中的內(nèi)容易被他人讀取,因此在利用DSP進(jìn)行產(chǎn)品設(shè)計時,如何保護(hù)自己的成果,防止被竊取盜用,成為了設(shè)計工作的重要方面。本文基于TI公司的TMS320VC550 9A實現(xiàn)一種加解密體制,利用加密算法來保護(hù)DSP程序。

1 TMS320VC5509A的自舉引導(dǎo)
1.1 TMS320VC5509A介紹及其Bootloader
    TMS320VC5509A是TI公司推出的一款高性能DSP,最高工作在可以200 MHz主頻,IO供電電壓3.3 V;核電壓1.2~1.6V。支持DMA操作、支持多媒體卡(MultiMedia Card,MMC)、安全數(shù)字卡(signal data converter,SDC)的讀寫;集成了USB控制器、I2C總線控制器、MCBSP口、實時時鐘RTC,以及多路A/D轉(zhuǎn)換器;具有PGE和BGA兩種封裝形式。片內(nèi)具有64 Byte ROM和128 Byte高速靜態(tài)RAM,內(nèi)部只讀ROM中固化了引導(dǎo)加載程序(Bootloader),該程序在系統(tǒng)上電或復(fù)位后可以將用戶代碼自動搬移到片內(nèi)RAM運(yùn)行。
1.2 自舉加載模式選擇
    TMS320VC5509A每次上電復(fù)位后,在執(zhí)行完一系列初始化(配置堆棧寄存器、關(guān)閉中斷、程序臨時入口、符號擴(kuò)展、兼容性配置)工作后,根據(jù)預(yù)先配置的自舉模式,通過固化在ROM內(nèi)的Bootloader程序進(jìn)行程序引導(dǎo)。引導(dǎo)模式選擇是根據(jù)4個引腳BOOTM[0:3]配置完成的。BOOTM 0~3引腳分別與GPIO 1、2、3、0相連。BOOTM[0:3]在實際的電路連接是將芯片引腳通過上拉或下拉電阻接地或接電源來實現(xiàn)。系統(tǒng)中采用Flash存儲器完成串行引導(dǎo),只需將BOOTM[3:0]設(shè)置成0100即可。
1.3 TMS320VC5509A引導(dǎo)表
    Bootloader允許應(yīng)用代碼存放在慢速非易失性的外部存儲器中,再將代碼搬移到高速的片內(nèi)存儲器中執(zhí)行。應(yīng)用代碼以一種Bootloader能夠理解的特殊格式編碼,這種格式就是自舉加載表。Bootloader在引導(dǎo)程序時,程序代碼是以自舉加載表形式加載。自舉加載表包含了將要搬移的代碼段、程序段,以及這些段將要被搬移到的地址、加載完成后程序要執(zhí)行的地址f即程序入口地址和其他配置信息。TMS320VC55x系列DSP的自舉加載表結(jié)構(gòu)如表1所示。


    其中,程序入口地址是自舉加載表加載結(jié)束后,用戶程序開始執(zhí)行的地址;待配置寄存器數(shù)目決定了后面有多少個寄存器需要配置;只有當(dāng)延時標(biāo)志為OxFFFF時,延時才被執(zhí)行;延時長度決定了在寄存器配置后,延時多少個CPU周期才進(jìn)行下一個動作:段長度、段起始地址和數(shù)據(jù)則為用戶程序中定義的各個段的內(nèi)容,并且可以重復(fù)添加;最后以32個0作為引導(dǎo)表的結(jié)束標(biāo)志。若需要生成引導(dǎo)表,可用CCS最終編譯生成的.out文件,通過CCS自帶的hex55.exe轉(zhuǎn)換程序得到。
[!--empirenews.page--]
2 自舉和加解密實現(xiàn)
2.1 硬件設(shè)計
    SST25LF080A是SST公司生產(chǎn)的SPI串口8 MbitFlash,支持SPI的Mode0和Mode1方式,其可靠性高,最大時鐘頻率為33 MHz,供電電壓為3.3 V,可重復(fù)寫10萬次以上。采用8腳SOIC封裝形式,與TMS320VC5509A的硬件連接如圖1所示。


2.2 二次引導(dǎo)技術(shù)
    DSP本身所帶的Bootloader不能實現(xiàn)加密功能,因此對于Flash里的程序無法起到保護(hù)作用。所以在Bootloader的基礎(chǔ)上,還需要進(jìn)行二次引導(dǎo),即通過DSP內(nèi)部ROM同化Bootloader,首先引導(dǎo)另一個引導(dǎo)程序,該程序是由用戶自行編寫,功能與ROM固化的Bootloader類似,但增加了對程序代碼加解密和校驗等功能,并在加載結(jié)束后,把PC值置于實際程序的入口地址,使程序轉(zhuǎn)至實際程序。
2.3 程序加密與解密
    對程序的初始保護(hù),即把最終運(yùn)行的程序代碼寫入Flash芯片之前,對代碼進(jìn)行加密處理。過程如下,DSP的一次引導(dǎo)過程只加載儲存在SST25LF080A中的加解密程序,需要向Flash寫入時,讀取DSP自身的ID號作為密鑰,通過一定的加密算法將二次引導(dǎo)的程序進(jìn)行加密處理后再寫入,這樣,SST25LF080A中就不存在明文形式的代碼。
    DSP的一次引導(dǎo)過程只加載儲存在SST25LF080A中的加解密程序,二次引導(dǎo)則加載SST25LF080A中已經(jīng)加密的代碼,然后讀取DSP自身的ID號作為密鑰進(jìn)行解密,加載結(jié)束和完成解密后再繼續(xù)運(yùn)行。
    為防止破譯者直接修改讀取ID部分的引導(dǎo)代碼,改為使用固定ID,還必須基于數(shù)據(jù)驅(qū)動進(jìn)行連續(xù)二次保護(hù)。它的處理對象是一些重要參數(shù)或變量,通過讀取引導(dǎo)程序的校驗值和DSP本身ID,完成對這些參數(shù)或變量“加鎖”,讓它們以密文形式存在于程序中。這樣即使完成了對引導(dǎo)程序的簡單破譯,也無法使程序正常運(yùn)行。


    經(jīng)過處理,可以有效地避免通過讀取Flash內(nèi)容直接破譯,或者直接讀取Flash內(nèi)容后在不同產(chǎn)品中反復(fù)利用的做法,對保護(hù)知識產(chǎn)權(quán)有著重要的意義。對于DSP代碼加密,可以根據(jù)需要的加密復(fù)雜程度進(jìn)行算法選擇,實現(xiàn)框圖如圖2所示。

3 結(jié)束語
    針對TMS320VC5509A和SST25LF080A,使用串行方式實現(xiàn)程序自舉引導(dǎo)的二次引導(dǎo)加載,提出基于該方式的程序加密方法。該方法不僅可用于TMS320VC5509ADSP中,其他類似高速微處理器系統(tǒng)的引導(dǎo)加載方案中也可得到應(yīng)用,實現(xiàn)了靈活的程序加載。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉