概述
在平时使用TI的DSP进行开发的时候,烧写程序的时候用到仿真器或者C2prog这样的工具,但是在产品大规模生产的时候这样烧写就不方便了,参照TI提供的文档和例程可以自己开发一个烧写工具。
实现
TI的例程目录是:
相关的参考文档是《C2000 串口烧录程序 应用手册》(文档已上传,赚个积分能下载别人的东西,大家也可以在TI官网找到)
其原理是:写一个运行在RAM上的程序A,它的功能是将从上位机获得的数据写到相应的内部flash上面,在DSP启动的时候,设置它执行自己内部的引导程序,这段程序会和上位机进行通讯,上位机将程序A发送给DSP,DSP会将这段程序放到RAM上相应的位置去执行,然后发送完之后启动程序A,程序A再和上位机通讯,上位机再将用户的应用程序(可以是BootLoader程序和App程序)发送到DSP,DSP的程序A会将这些数据写到相应的flash地址上面。
程序执行完之后复位,就可以启动用户的程序了,程序逻辑比较简单,TI也提供了相应的例程,文档描述也比较清楚,这里不再赘述。
但是例程也有点儿问题,调试的时候发现下载程序不成功,主要原因是例程的通讯协议有点儿问题,但是大框架没有问题,理解了内部的机理,可以自己定义相应的协议。
C2prog实现原理也是这样的在安装目录的targets目录下有好多的hex文件,这些hex文件就是上面说的程序A,在下载程序的时候它首先会将这些文件中的数据下载给DSP,后面的过程就和上面描述相同了。
在程序A中可以做很多个性化的工作,如果怕应用程序文件泄露,可以将应用程序进行加密,然后在程序A中进行解密,TI也提供了AES-128的相关的例程。