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

2010-10-26 16:59 3652 20 24 分类: 消费电子

目前,最常用的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语言源程序编译后都比较大。

文章评论4条评论)

登录后参与讨论

用户1037795 2010-10-27 20:36

可加密的单片机及IC(如EPLD)很多,目前不能解密的也不少,文中STC只是举一个例子而已,用户可根据自己的经验选择不同的单片机,只要片内Flash容量满足系统要求即可。

用户3809340 2010-10-27 13:37

也可以采用外接一颗很便宜的带OTP的单片机。OTP部分虽小,可放置关键代码或参数,读出不易。

用户1565953 2010-10-27 12:08

**!

用户1327305 2010-10-27 08:55

那么多的加密IC你不用非要搞一个什么STC的单片机,被解了你不是自找的吗。
相关推荐阅读
用户1037795 2014-09-29 14:57
高速LVDS接口信号完整性处理实例
  一、系统介绍 EMCCD相机由图像传感器、驱动电路、FPGA(Spartan-3)、LVDS接口和电源等组成。LVDS输出接口使用2片DS92LV1021,每片实现10bit并行数据到...
用户1037795 2014-08-20 14:15
关于Xilinx FPGA JTAG下载时菊花链路中的芯片数量
  当一个系统中含有多片(2片以上)Xilinx FPGA、CPLD或PROM(FLASH)时,可采用单一JTAG口以菊花链(Daisy Chain)形式将所有芯片串联起来实现下载编程,如下图...
用户1037795 2014-08-12 07:50
NiosII程序编译时出现onchip_mem不够问题及解决方法
开发Altera Nios II软件可使用Nios II IDE或 Nios II Software Build Tools for Eclipse(即:Nios II SBT for Eclip...
用户1037795 2014-08-11 15:08
Altera QuartusII及Cyclone IV E使用经验
  1、仅C8L、IC8L、C9L使用1.0V核电压(VCCINT),其它速度的均使用1.2V核电压。 2、对于作为LVDS传输的Bank必须接2.5V的VCCIO,参考数据手册表1-20...
用户1037795 2014-08-07 14:39
Altera FPGA带NiosII内核程序的JTAG下载方法总结
  1、对于Altera FPGA,含Nios II时需要下载的文件有4种:.sof 文件,.pof 文件,.jic 文件,.elf 文件。 下载文件 ...
用户1037795 2014-08-06 10:18
Quratus II中 Nios II 硬件设计工具SOPC Builder与Qsys的区别
  1、 SOPC(System On a Programmable Chip.)即可编程片上系统,SOPC Builder是Quartus II中传统的Nios II 硬件设计工具,可以灵活...
我要评论
4
20
关闭 站长推荐上一条 /2 下一条