接触dsp已经有一段时间了,从Hellodsp得到了很多帮助,前段时间本人也进行了第一次烧写,幸运的遇到了FLASH锁死的情况,不知该哭该笑,我们系很少人玩DSP,少写过的人不多,遇到锁死的就更少了,没人给解决,只能在网上搜,最终皇天不负有心人,搞定!!废话不多说,下面就分享一下该怎么解锁(部分借用网络资源,在此感谢!!):根据得到的.out文件,通过hex2000.exe来得到相应的ASCII码文件,文件中 00 08 00 3F 7F F8 EE EE FF FF FF FF FF FF FF FF FF FF FF FF FF FF 为密码区,其中00 08 00 3F 7F F8为密码区地址,后面16组为实际密码,LSB到HSB。需要:对应的.out 和.map文件,分别用来生成hex文件和查看链接关系。配置:build.bat 批处理文件,用windows的命令提示符来得到所需要的hex文件,编码为ASCII;用记事本打开 内填写hex2000.exe在你电脑中的目录 build.cmd 命令文件,采用hex2000.exe程序选项命令来得到所需文件。 具体命令 : -memwidth 16 设定存储器格式为16bit ,不用管 -romwidth 16 设定rom格式为16bit&,不用管 -a 设定输出文件格式,填写你的.OUT名如我的是Tlv320aic23x.out -o 设定输出文件名,随便起个名字,是你得到密码的文件名 -map 设定输出映射文件,填写你的.map名 如我的是Tlv320aic23x.map -boot 设定引导数据流,不做操作 hex2000.exe 程序文件, ccs自带的,路径为..\C2000\cgtools\bin\hex2000.exe 更多有关此程序的命令选项请参考相关资料。具体你要做的是: 1、回帖,下载压缩包并解压 2、把文件夹中的.out和.map文件换成你的文件, 3、按照上面说的修改buildhex.cmd里面的内容,然后将文件夹拷贝到ccs安装目录下(不知道不考行不行,没试) 4、打开ccs连接目标板 5、双击build.bat会产生一个记事本文件,打开找到00 08 00 3F 7F F8即可 00 3F 7F F8 这段数字后的数据为地址003f7ff8中的内容,也即密码区的首字节,根据前面得到的ascii格式的文本文件,搜索3F 7F数据组合,然后其后的就是实际烧进去的数据。如果是错误烧写锁定DSP的话,则把后续的指令代码作为密码写进去即可,一般为32bit,程序长跳转二进制代码。如果是自己烧写了代码,则后续的16组数据即为所设密码。 具体写的是什么,可以参考对应的.map文件,其中列出了所有symble,以及他们的输入输出段,可以看到003f7ff8地址中对应的是那个symble和所占字节数。 |