DSP烧写错误原因
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.DSP程序烧写后,带仿真器程序能正常运行,通信测试是对的,但拔下仿真器后就出错了,请问是什么原因?
答:串口通信连着仿真器说明有硬件电气连接。使用无源rs232转485接口跟dsp通信的,接着仿真器就行,不接仿真器通信异常。然后把485的地和dsp电源的地共起来,就好了。
2. DSP使用仿真器很正常工作,但是通过烧写到ROM后,load代码到DSP RAM中后无法正常运行.
答:首先检查你的烧写程序可有问题。有些烧写程序指定.test代码长度。
其次在代码上找问题,可以锁定在在线与烧写cmd文件的变化。烧写原理是什么?代码编
译为二进制或十六进制数,搬移进rom,存储起始地址、长度确定没有问题。假设正确,
检查能否在线对rom进行正常的擦除与读写?
假如还是正确,检查硬件电路,这个就比较麻烦了。确定启动模式设置的正确?自举启动
要dsp外围电路的电压、时钟、模式选择、默认态确认正确?
还有问题就是芯片自启动有问题了
3.我也出现过能仿真,但不能烧写的情况!
解决方法:降低时钟频率。点击FLASH插件上的“View Config File”,打开VAR.h文件。将该文件中的“PLL_PATIO_CONST .Set 0000h”改成“PLL_PATIO_CONST .Set 0200h”存盘后,执行目录下的Buildall.bat批处理文件。再重新启动CCS及FLASH插件。最大可能是DSP的FLASH烧掉了,这个烧掉不影响程序的仿真;我之前也是烧不进去,
后来换了块芯片就好了,芯片的来源很重要。
第二个问题是你在烧写程序时将CMD修改了没有,要跳过密保单元;你的memory map
设置是否正确? 还有如果烧写flash 评估办上跳线是否正确? 我用的时候好几块评估板都
是可以load programme 。可以加载到ram 中进行仿真,但是不能烧写道flash 进行自动
运行。
4.我也遇到这样的问题,同样郁闷。一个以前跑过的好好的程序,因为改了仿真器的配置,就出现了楼主所述问题,反复尝试,都是如楼主所述。
后来我是通过以下方法解决的:打开Setup CCStudio v3.3-选择F2407 XDS510
Emulator-设置F2407 XDS510 Emulator的属性-再设置TMS320C24xx_0的属性
5我以前也遇到过,用如下的方法解决的:
首先,"degug"--"reset DSP";然后, 电路上硬件复位,即reset引脚处的复位。
6.error: Data verification failed at address 0xxxxxx
前一段时间,Load Program时总是出错:
data verification failed at address 0x81021FF4,
Please verify target memory and memory map
有时多下载几次却又可以了,这个问题困扰了我好几天,后来才知道是DSP板子上的SDRAM坏了。
从网上搜到的别人对这个错误的原因的解释:
1. The RAM chip is damaged. In this case, the board has to be replaced.
2. The access to the external memory is secure if CSM (code security module) is enabled. To unlock CSM if not password protected, go to the GEL menu in Code Composer Studio under:
"GEL->Code Security Module->Unlock_CSM"
This will give you access to the external RAM, and allow CCS to load your code. As a workaround, use the Internal_memory_map option to load the executable code into the internal RAM.
7.:在调试硬件时,程序无法下载到存储器中,出现错误,data verification failed at address 0x40,please verify target memory and
答:1. 确定CMD文件没有问题,到底是Flash的CMD还是Ram的?
2. 用TI的历程尝试,判断是否是硬件问题。
8.仿真器在线仿真正常,写入片子后工作不正常的问题
1、复位电路是否正常
2、晶振是否正常
3、最小系统电路是否正确
4、是否片子坏了
总结:1.程序肯定是对的。
2.硬件方面 rom和FLASH是否损坏,其次检查配置,电源、引脚配置
3.软件CCS的设置上
4.人为因素:烧写方法,cmd修改,密保单元是否跳过。
在TI DSP开发板中烧写Flash程序
实现在FLASH存储器烧写程序一般有以下三种方法:一是通过编程器下载烧写;二是通过开发商提供的专门软件工具+在线仿真器烧写;三是自己编程通过DSP烧写。个人使用的是合众达电子SEED-VPM642开发板,在最新版本例程中提供了专用的烧写软件SeedConvertTool.exe;但为了实现通用的FLASHBURN烧写,我进行了一些尝试以便了解程序烧录过程及运行情况。
实现Bootloader自引导功能,除了需要生成可执行文件(.out),还需要进行如下步骤:1、合理配置工程文件(.pjt):需要添加一个boot.asm文件(做搬移时一些初始化和跳转工作),另外工程中.cmd文件也需要为bootloader保留空间。
2、将添加了boot.asm和修改cmd后重新生成的.out文件转化为.hex文件,这时需要一个转换.cmd文件(这个.cmd文件与工程文件中.cmd完全不同,前者是为了指明flash的属性(大小,数据宽度,起始地址和产生文件名)以实现转换.out文件为flash兼容的.hex
文件,不能混淆)。
3、最后通过Flashburn工具将.hex文件写入Flash,这时需要转换.cmd文件、.hex文件和FBTC642.out文件。
介绍下各烧录中用到的文件(Flashburn、FBTC.out、hex6x.exe,.cdd和.cmd文件)作用:
1、FBTC.out文件:负责对flash的操作,比如flash的擦除、读、写等。这里主要看个人板子上flash的型号,因为不同型号的flash,它们的操作命令不一样。这样你就必须对FBTC工程进行修改,然后重新编译生成.out文件。如DM642开发板使用的FBTC文件在安装ccs的根目录下(boards\evmdm642\flashburn\FBTC642)。
2、hex6x.exe:将用户工程生成的.out文件转换为二进制文件的工具,这样Flashburn就可以将.out文件以二进制方式烧进flash中。