資料介紹
摘要 以TI公司的TMS320VC5509A和SST公司的SST25LF080A為例,介紹了一種通過串口模式對Flash中的程序進行二次加載和加密方法。文中還給出了相關硬件連接、自舉表的建立。實驗證明,采用該引導裝載系統具有較強的實用性,可以提高DSP軟件的保密性。
隨著數字信號處理技術的發展,數字信號處理器(DSP)以其卓越的性能、獨有的特點,成為通信、計算機、消費類電了產品等領域的基礎器件,被廣泛地應用于各種數字信號處理系統中。由于數字信號處理器(DSP)內部的ROM需要在生產時寫入程序,所以多數場合下,系統加電后,DSP需要將一段存儲在外部非易失性存儲器的代碼轉移到內部高速存儲器單元中執行,這樣既利用了外部的存儲單元擴展了DSP本身有限的ROM資源,又充分發揮了DSP內部資源的效能。目前Flash存儲器應用最為廣泛,其兼有存取快速、電可擦除、可在線編程、大容量、低功耗、小尺寸、以及價格低廉等優點,已成為新一代數字信號處理系統中的重要組成部分。但是,由于外部Flash存儲器中的內容易被他人讀取,因此在利用DSP進行產品設計時,如何保護自己的成果,防止被竊取盜用,成為了設計工作的重要方面。本文基于TI公司的TMS320VC550 9A實現一種加解密體制,利用加密算法來保護DSP程序。
1 TMS320VC5509A的自舉引導
1.1 TMS320VC5509A介紹及其Bootloader
TMS320VC5509A是TI公司推出的一款高性能DSP,最高工作在可以200 MHz主頻,IO供電電壓3.3 V;核電壓1.2~1.6V。支持DMA操作、支持多媒體卡(MultiMedia Card,MMC)、安全數字卡(signal data converter,SDC)的讀寫;集成了USB控制器、I2C總線控制器、MCBSP口、實時時鐘RTC,以及多路A/D轉換器;具有PGE和BGA兩種封裝形式。片內具有64 Byte ROM和128 Byte高速靜態RAM,內部只讀ROM中固化了引導加載程序(Bootloader),該程序在系統上電或復位后可以將用戶代碼自動搬移到片內RAM運行。
1.2 自舉加載模式選擇
TMS320VC5509A每次上電復位后,在執行完一系列初始化(配置堆棧寄存器、關閉中斷、程序臨時入口、符號擴展、兼容性配置)工作后,根據預先配置的自舉模式,通過固化在ROM內的Bootloader程序進行程序引導。引導模式選擇是根據4個引腳BOOTM[0:3]配置完成的。BOOTM 0~3引腳分別與GPIO 1、2、3、0相連。BOOTM[0:3]在實際的電路連接是將芯片引腳通過上拉或下拉電阻接地或接電源來實現。系統中采用Flash存儲器完成串行引導,只需將BOOTM[3:0]設置成0100即可。
1.3 TMS320VC5509A引導表
Bootloader允許應用代碼存放在慢速非易失性的外部存儲器中,再將代碼搬移到高速的片內存儲器中執行。應用代碼以一種Bootloader能夠理解的特殊格式編碼,這種格式就是自舉加載表。Bootloader在引導程序時,程序代碼是以自舉加載表形式加載。自舉加載表包含了將要搬移的代碼段、程序段,以及這些段將要被搬移到的地址、加載完成后程序要執行的地址f即程序入口地址和其他配置信息。TMS320VC55x系列DSP的自舉加載表結構如表1所示。
![通過串口模式對Flash中的程序進行二次加載和加密](/uploads/allimg/171021/2362486-1G0211011109A.png)
其中,程序入口地址是自舉加載表加載結束后,用戶程序開始執行的地址;待配置寄存器數目決定了后面有多少個寄存器需要配置;只有當延時標志為OxFFFF時,延時才被執行;延時長度決定了在寄存器配置后,延時多少個CPU周期才進行下一個動作:段長度、段起始地址和數據則為用戶程序中定義的各個段的內容,并且可以重復添加;最后以32個0作為引導表的結束標志。若需要生成引導表,可用CCS最終編譯生成的.out文件,通過CCS自帶的hex55.exe轉換程序得到。
隨著數字信號處理技術的發展,數字信號處理器(DSP)以其卓越的性能、獨有的特點,成為通信、計算機、消費類電了產品等領域的基礎器件,被廣泛地應用于各種數字信號處理系統中。由于數字信號處理器(DSP)內部的ROM需要在生產時寫入程序,所以多數場合下,系統加電后,DSP需要將一段存儲在外部非易失性存儲器的代碼轉移到內部高速存儲器單元中執行,這樣既利用了外部的存儲單元擴展了DSP本身有限的ROM資源,又充分發揮了DSP內部資源的效能。目前Flash存儲器應用最為廣泛,其兼有存取快速、電可擦除、可在線編程、大容量、低功耗、小尺寸、以及價格低廉等優點,已成為新一代數字信號處理系統中的重要組成部分。但是,由于外部Flash存儲器中的內容易被他人讀取,因此在利用DSP進行產品設計時,如何保護自己的成果,防止被竊取盜用,成為了設計工作的重要方面。本文基于TI公司的TMS320VC550 9A實現一種加解密體制,利用加密算法來保護DSP程序。
1 TMS320VC5509A的自舉引導
1.1 TMS320VC5509A介紹及其Bootloader
TMS320VC5509A是TI公司推出的一款高性能DSP,最高工作在可以200 MHz主頻,IO供電電壓3.3 V;核電壓1.2~1.6V。支持DMA操作、支持多媒體卡(MultiMedia Card,MMC)、安全數字卡(signal data converter,SDC)的讀寫;集成了USB控制器、I2C總線控制器、MCBSP口、實時時鐘RTC,以及多路A/D轉換器;具有PGE和BGA兩種封裝形式。片內具有64 Byte ROM和128 Byte高速靜態RAM,內部只讀ROM中固化了引導加載程序(Bootloader),該程序在系統上電或復位后可以將用戶代碼自動搬移到片內RAM運行。
1.2 自舉加載模式選擇
TMS320VC5509A每次上電復位后,在執行完一系列初始化(配置堆棧寄存器、關閉中斷、程序臨時入口、符號擴展、兼容性配置)工作后,根據預先配置的自舉模式,通過固化在ROM內的Bootloader程序進行程序引導。引導模式選擇是根據4個引腳BOOTM[0:3]配置完成的。BOOTM 0~3引腳分別與GPIO 1、2、3、0相連。BOOTM[0:3]在實際的電路連接是將芯片引腳通過上拉或下拉電阻接地或接電源來實現。系統中采用Flash存儲器完成串行引導,只需將BOOTM[3:0]設置成0100即可。
1.3 TMS320VC5509A引導表
Bootloader允許應用代碼存放在慢速非易失性的外部存儲器中,再將代碼搬移到高速的片內存儲器中執行。應用代碼以一種Bootloader能夠理解的特殊格式編碼,這種格式就是自舉加載表。Bootloader在引導程序時,程序代碼是以自舉加載表形式加載。自舉加載表包含了將要搬移的代碼段、程序段,以及這些段將要被搬移到的地址、加載完成后程序要執行的地址f即程序入口地址和其他配置信息。TMS320VC55x系列DSP的自舉加載表結構如表1所示。
![通過串口模式對Flash中的程序進行二次加載和加密](/uploads/allimg/171021/2362486-1G0211011109A.png)
其中,程序入口地址是自舉加載表加載結束后,用戶程序開始執行的地址;待配置寄存器數目決定了后面有多少個寄存器需要配置;只有當延時標志為OxFFFF時,延時才被執行;延時長度決定了在寄存器配置后,延時多少個CPU周期才進行下一個動作:段長度、段起始地址和數據則為用戶程序中定義的各個段的內容,并且可以重復添加;最后以32個0作為引導表的結束標志。若需要生成引導表,可用CCS最終編譯生成的.out文件,通過CCS自帶的hex55.exe轉換程序得到。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 通過串口燒寫STM32程序的教程方法 0次下載
- stm32 程序二次加載:串口
- DCDC二次電源輻射特性研究
- 基于光華逼近函數的求解凸二次規劃方法 3次下載
- Flash加載程序演示資料免費下載 0次下載
- 單片機的程序在內存和FLASH中應該如何進行空間分配
- MES為什么不可避免的要進行二次開發 2次下載
- 針對二次再熱機組DEH建模分析 0次下載
- DSP通過FLASH并行加載的分析和實例 7次下載
- 二次開發串口通信協議 7次下載
- 三態偽連續導電模式二次型Boost變換器研究 1次下載
- AutoCAD VBA二次開發教程 0次下載
- 新型二次電池材料
- 基于約束判決的二次門限檢測
- 二次電池的特性和應用
- 什么是集成電路新建項目機電二次配? 172次閱讀
- 電力系統一次設備和二次設備區別,二次回路的分類 3130次閱讀
- 關于二次回路工作的安全規定 4612次閱讀
- 二次回路簡述 821次閱讀
- 自動焊接工藝的次焊接和二次焊接的區別及優缺點分析 9083次閱讀
- 電流互感器二次側接地原因 2.5w次閱讀
- 二次回路的作用 9299次閱讀
- 電氣二次回路的看圖口訣 8709次閱讀
- 什么是二次設備?二次設備有哪些 5.4w次閱讀
- 二次回路圖怎么看?技巧分享 1.4w次閱讀
- 電氣二次常見問題有哪些_40個電氣二次常見問題盤點 5408次閱讀
- 二次電池是什么_二次電池有哪些_二次電池充放電方程式 2.3w次閱讀
- mapreduce二次排序_ mapreduce二次排序原理 6297次閱讀
- 二次回路電路原理圖及講解(二)——電路天天讀 4.8w次閱讀
- 基于TDD-LTE終端二次諧波的抑制應用設計 3194次閱讀
下載排行
本周
- 1DC電源插座圖紙
- 0.67 MB | 2次下載 | 免費
- 2AN158 GD32VW553 Wi-Fi開發指南
- 1.51MB | 2次下載 | 免費
- 3AN148 GD32VW553射頻硬件開發指南
- 2.07MB | 1次下載 | 免費
- 4AN111-LTC3219用戶指南
- 84.32KB | 次下載 | 免費
- 5AN153-用于電源系統管理的Linduino
- 1.38MB | 次下載 | 免費
- 6AN-283: Σ-Δ型ADC和DAC[中文版]
- 677.86KB | 次下載 | 免費
- 7SM2018E 支持可控硅調光線性恒流控制芯片
- 402.24 KB | 次下載 | 免費
- 8AN-1308: 電流檢測放大器共模階躍響應
- 545.42KB | 次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 138次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 130次下載 | 免費
- 4使用單片機實現七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 53314A函數發生器維修手冊
- 16.30 MB | 31次下載 | 免費
- 6美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 7如何正確測試電源的紋波
- 0.36 MB | 17次下載 | 免費
- 8感應筆電路圖
- 0.06 MB | 10次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論