原创 TI-DSP程序加密问题探讨

2010-10-26 12:05 4407 10 11 分类: 处理器与DSP
目前,最常用的TI DSP有C2000、C5000和C6000三大系列。
C2000是TI的入门级DSP,主要用在工业控制领域,如电机控制(变频调速)、数字电源等,以及计算机外设,如打印机、扫描仪等;
C5000是TI高性价比、低功耗DSP,应用范围广,特别在通信领域,如路由器、交换机、嵌入式WEB服务器等;
C6000是TI高性能DSP,主要用在各种高档数字信号处理领域,如数字图像处理(编码压缩)、频谱分析(FFT)、数字滤波器(FIR)等。
1、C2000DSP的F24xxA和F28xx系列使用片内Flash作为程序存储器,自带加密机制,128位密钥,要实现程序加密就很简单了,有两种加密方法:
(1) "显式“密钥法,使用TI提供的Flash在线编程工具(On-chip Flash Programmer)时,在“Code Security Password”区域设置好128位密钥,然后点击“Program Password”确定密钥设置。在设置密钥的时候,注意不要将Key0-Key8全设置为0,如果全为0,则芯片将会永久“Lock”!
这种方式在产品批量生产时除设计者知道密钥外,生产时的编程写入人员也知道。
(2) ”隐式“密钥法,设计者将128位密钥用汇编代码方式嵌入源程序中,并在连接配置文件(命令文件)*.CMD中将其定位到DSP密钥存储区,最后编译生成.out文件一起写入Flash中。这种方式就只有设计者本人知道密钥了。
2、C5000和C6000均使用外部Flash,程序无法加密。这时可以采用内置大容量Flash、可加密的单片机(如性价比高的STC51系列单片机)来完成加密工作,具体做法是:
将DSP程序写入单片机的片内Flash中,单片机通过模拟SPI口将程序加载到DSP片内RAM中运行。这种方法程序被解密复制的可能性有2种:一是单片机被解密,唯一防解密的途径是采用最新型号(或版本)的单片机,增加破解难度和时间;二是用逻辑分析仪监视SPI总线上的加载数据流,但这种破解方法难度较大,一般人不易掌握,特别是DSP的C语言源程序编译后都比较大。

文章评论1条评论)

登录后参与讨论

用户377235 2014-1-14 12:23

您好博主! 我用“隐式”密钥法加密之后,ccs连接不上控制板了,解密不了啊!请问你知道吗?
相关推荐阅读
用户36690 2014-09-29 09:36
高速LVDS接口信号完整性处理实例
  一、系统介绍 EMCCD相机由图像传感器、驱动电路、FPGA(Spartan-3)、LVDS接口和电源等组成。LVDS输出接口使用2片DS92LV1021,每片实现10bit并行数据到...
用户36690 2014-08-20 13:58
关于Xilinx FPGA JTAG下载时菊花链路中的芯片数量
    当一个系统中含有多片(2片以上)Xilinx FPGA、CPLD或PROM(FLASH)时,可采用单一JTAG口以菊花链(Daisy Chain)形式将所有芯片串联起来实现下载编程...
用户36690 2014-08-12 07:41
NiosII程序编译时出现onchip_mem不够问题及解决方法
    开发Altera Nios II软件可使用Nios II IDE或 Nios II Software Build Tools for Eclipse(即:Nios II SBT f...
用户36690 2014-08-11 15:06
Altera QuartusII及Cyclone IV E使用经验
  1、仅C8L、IC8L、C9L使用1.0V核电压(VCCINT),其它速度的均使用1.2V核电压。 2、对于作为LVDS传输的Bank必须接2.5V的VCCIO,参考数据手册表1-20...
用户36690 2014-08-07 14:35
Nios II IDE 与 Nios II SBT for Eclipse的区别
  1、Nios II IDE即Nios II Integrated Development Environment(Nios II 集成开发环境),Altera网站是这样介绍的: (ht...
用户36690 2014-08-07 14:34
Quratus II中 Nios II 硬件设计工具SOPC Builder与Qsys的区别
  1、 SOPC(System On a Programmable Chip.)即可编程片上系统,SOPC Builder是Quartus II中传统的Nios II 硬件设计工具,可以灵活...
我要评论
1
10
关闭 站长推荐上一条 /2 下一条