DSP调试及烧写和加载常见错误及分析

合集下载

第4章 DSP程序的调试与分析

第4章 DSP程序的调试与分析

hotmenu gain_reset() { gain=1; }
call_data_delta(Num) { int i,k=0; for(i=0; i<Num;i++){
if(i%4==0)k=!k; in[i]=k*5; k++;
}
}
call_data_rect(Num) { int i,k=0; for(i=0; i<Num;i++)
剖析方法
• 时钟剖析 • 剖析会话
时钟剖析
① 时钟设置
– 选择菜单Profiler → Clock Setup菜单项
② 使能时钟
选择菜单Profiler → Enable Clock菜单项,将在该 菜单项前标记“√”,表示剖析时钟使能,再次选择 该项命令可以清除标记“√”,禁止剖析时钟,默认 情况下禁止使用剖析时钟
C语言的输入输出语句
• • • • puts函数 printf函数 scanf函数 getchar函数
Watch窗口的应用
• 菜单View → Watch Window命令 • 在Watch窗口中,可以察看并修改全局变 量的值
图形分析窗口
• CCS提供一个信号图形分析工具,可以对 输入输出信号进行直观的图形显示,是开 发通信、信号处理、图像处理等DSP程序 时常用的分析工具。 菜单View → graph 命令 时频图形分析工具(Time/Frequency) 星座图分析工具(Constellation) 眼图(Eye Diagram) 图像分析(Image)
立刻暂停DSP芯片运行的目标程序
返回目标DSP芯片信息 在CCS中插入一个断点 检测指定的目标存储块是否可读 检测目标DSP芯片是否支持RTDX

DSP常见问题及解决

DSP常见问题及解决

问:我测试你们的程序的时候,go main 进不去主函数,进入的是一段汇编。

是怎么回事?答:程序如果要进行设断点,观察变量等操作,要先调入project文件,然后再调入out文件。

如果是可以直接执行能看到结果的,就直接调入out文件,run就可以。

问:CY68013的固件程序怎么修改?答:在把QQ2812都研究清楚了,有精力有兴趣自己可以买一本EZ-USB的书好好看看。

在此之前,请不要随便更改固件代码,因为一旦出错,可能带来不必要的麻烦。

固件代码是通过USBControlPanel,使用USB接口进行下载的。

:2812的主频是最大150M,我如果想设为100M是在那里设置?答:打开工程,在Source文件夹下,打开DSP28_SysCtro.c文件,找到如下语句,修改即可。

// Initalize PLLSysCtrlRegs.PLLCR = 0x02;///锁相环产生的时钟频率定标,这里配置为30M问:为什么我的程序在SRAM中正常,烧入Flash后不对?答:1、请先确认你编译的时候使用了flash.cmd,推荐使用我们提供的flash.cmd,如果自己更改了这个文件,请先确认cmd文件的正确性;2、编译的时候,如果选择release模式,请检查一下build option,把其中的opt level改为none,即取消编译优化选项,很多语句在优化的时候可能会产生错误的优化结果。

或者选择debug模式编译,烧写正确后再改为release模式,通过对比两种模式的编译选项也能看出其中的区别。

3、程序在flash中运行会比在ram中运行大概慢20%,因此对于一些时序敏感的外设,比如usb总线,就有可能需要调整时序,否则就会有问题。

问:数码管LED显示的时候发送的数据是怎么规定和产生的?答:其实如果自己看程序和原理图自己就可以知道是怎么产生的。

数码管数据如下:Uint16SpiCode[]={0x7E7E,0x2929,0x2c2c,0x6666,0xa4a4,0xa0a0,0x3e3e,0x2020,0x2424,0x22 22,0xe0e0,0xb1b1,0x6868,0xa1a1,0xa3a3,0xffff,0xdfdf};数码管的笔画对应关系如下:63 742 01 5就是说0~7分别对应笔画的a~h,在原理图看就是分别连接的Q0~Q7这个数码管的型号是LG3611BH,是共阳级的,也就是说某个笔画为0的时候,这个笔画被点亮。

DSP常见问题及解决

DSP常见问题及解决

问:我测试你们的‎程序的时候,go main 进不去主函数‎,进入的是一段‎汇编。

是怎么回事?答:程序如果要进‎行设断点,观察变量等操‎作,要先调入pr‎o ject文‎件,然后再调入o‎u t文件。

如果是可以直‎接执行能看到‎结果的,就直接调入o‎u t文件,run就可以‎。

问:CY6801‎3的固件程序‎怎么修改?答:在把QQ28‎12都研究清‎楚了,有精力有兴趣‎自己可以买一‎本EZ-USB的书好‎好看看。

在此之前,请不要随便更‎改固件代码,因为一旦出错‎,可能带来不必‎要的麻烦。

固件代码是通‎过USBCo‎n trolP‎a nel,使用USB接‎口进行下载的‎。

:2812的主‎频是最大15‎0M,我如果想设为‎100M是在‎那里设置?答:打开工程,在Sourc‎e文件夹下,打开DSP2‎8_SysC‎t ro.c文件,找到如下语句‎,修改即可。

// Inital‎i ze PLLSysCtr‎l Regs.PLLCR = 0x02;///锁相环产生的‎时钟频率定标‎,这里配置为3‎0M问:为什么我的程‎序在SRAM‎中正常,烧入Flas‎h后不对?答:1、请先确认你编‎译的时候使用‎了flash‎.cmd,推荐使用我们‎提供的fla‎s h.cmd,如果自己更改‎了这个文件,请先确认cm‎d文件的正确‎性;2、编译的时候,如果选择re‎l ease模‎式,请检查一下b‎u ild option‎,把其中的op‎t level改‎为none,即取消编译优‎化选项,很多语句在优‎化的时候可能‎会产生错误的‎优化结果。

或者选择de‎b ug模式编‎译,烧写正确后再‎改为rele‎a se模式,通过对比两种‎模式的编译选‎项也能看出其‎中的区别。

3、程序在fla‎s h中运行会‎比在ram中‎运行大概慢2‎0%,因此对于一些‎时序敏感的外‎设,比如usb总‎线,就有可能需要‎调整时序,否则就会有问‎题。

DSP调试及烧写和加载常见错误及分析

DSP调试及烧写和加载常见错误及分析

Error: Read status value 0x0001 from symbol PRG_statusFlash algorithm failed during clear operation开始能够正常烧写的 , 可是上机调试了一下就不可以写了.在烧写 lf2407内部flash时出现以下错误,不知是什么原由造成的?Error:Read status value 0x0001 from symbolPRG_status Flash algorithm failed during clear operation.换了一个芯片后正常从前有一次在试 CCS功能时,一不当心点了一次加密,还没有履行完,就立刻点认识密,大体这样烧坏了吧!太柔弱了,不再敢试加密了CMD文件要避开 FLASH的 40H--44H 区间,我也出现过这样的问题,烧写2407A的片内 flash时会出现下边的错误提示:Error: Read status value 0x0001 form symbol PRG_statusFlash algorithm failed during clear operation以后换了一块 2407 就能烧写了。

是不是 2407 的 flash坏了?有没有方法检测或许修复flash?昨天在网上查了一下 , 好多人都碰到了这类问题 , 可能是 dsp 内部 flash 烧坏了吧 ! 今日从头换了一块芯片 , 能够烧录进去了 , 可是上拿到样机上浮试试看 , 再烧录就出现了相同的问题 , 预计又是 flash 坏了 , 究竟是什么原由惹起的 ?是不是电源惹起的呢 ?我也出现过能仿真,但不可以烧写的状况!解决方法:解决方法:降低时钟频次。

点击 FLASH插件上的“ View Config File ”,翻开VAR.h文件。

将该文件中的“ PLL_PATIO_CONST .Set 0000h”改成“PLL_PATIO_CONST .Set 0200h”存盘后,履行目录下的Buildall.bat 批办理文件。

DSP调试及烧写和加载常见错误及分析

DSP调试及烧写和加载常见错误及分析

DSP调试及烧写和加载常见错误及分析在进行DSP调试、烧写和加载过程中,常见的错误有很多,下面是一些常见错误及其分析:1.调试错误:-问题描述:无法连接到DSP设备。

-分析:可能是因为设备未正确连接,或者连接线路有问题,也可能是驱动程序不兼容导致的。

-解决方法:检查设备的连接状态,确保连接正确;检查连接线路是否完好;更新或卸载并重新安装驱动程序。

2.烧写错误:-问题描述:烧写失败或者烧写之后设备无法启动。

-分析:可能是烧写的文件有错误或者不完整,也可能是设备本身存在问题。

3.加载错误:-问题描述:加载程序时出现错误,或者加载之后程序无法正常运行。

-分析:可能是加载的程序有问题或者与设备不兼容,也可能是设备本身存在问题。

4.软件错误:-问题描述:使用的调试、烧写或加载软件出现错误或崩溃。

-分析:可能是软件本身存在问题,也可能是与其他软件或系统的兼容性冲突。

-解决方法:更新软件版本,或者使用其他可靠的软件;检查是否存在与其他软件或系统冲突的情况,如果有需要进行排查和修复。

5.设备故障:-问题描述:设备无法识别、烧写或加载,存在硬件故障。

-分析:可能是设备损坏或老化,设备内部电路出现问题。

-解决方法:检查设备的物理状态,是否存在损坏或老化情况;检查设备的内部电路,如果有问题需要进行修复或更换。

6.嵌入式系统错误:-问题描述:DSP芯片上的嵌入式系统无法正常运行。

-分析:可能是系统的软件代码有问题,硬件与软件的不匹配,系统配置错误等。

-解决方法:检查系统的软件代码,重新进行编译、调试和烧写;检查系统的硬件与软件的兼容性,如果有问题需要进行修复或更换;检查系统的配置参数,进行适当的修改。

在遇到以上错误时,可以根据具体情况进行分析和解决。

同时,可以参考调试、烧写和加载工具的操作手册,寻求厂商的技术支持,或者查阅相关的文档和资料来获取更多的帮助和解决方案。

调试、烧写和加载过程中可能会遇到各种各样的问题,需要耐心和细心进行排查和解决。

dsp 编译错误与解决方法

dsp 编译错误与解决方法
GEL_MapAdd() from my earlier post. With the original GEL file CCS thinks that this memory range is invalid (because the simulator does not support the PLL). This would get rid of the errors regarding accessing that memory space, but because the PLL is not supported on the simulatorwrites to this address will not work. I've seen the project you mentioned before, but I do not remember enough about it to know whether or not this would cause the application to fail. I think a bigger question here is why work on the simulator if you have a DSK handy? The code from that book is designed specifically to work on the DSK hardware, not on a CPU simulator.
can't open file '/.obj' for input是什么原因引起的?
cmd文件中有不合法的符号比如 “//”等
1fatal error: #error NO CHIP DEFINED详细的出错信息:

DSP常会遇到的问题总结

DSP常会遇到的问题总结

二.DSP的C语言同主机C语言的主要区别?1)DSP的C语言是标准的ANSI C,它不包括同外设联系的扩展部分,如屏幕绘图等。

但在CCS 中,为了方便调试,可以将数据通过prinf命令虚拟输出到主机的屏幕上。

2)DSP的C语言的编译过程为,C编译为ASM,再由ASM编译为OBJ。

因此C和ASM的对应关系非常明确,非常便于人工优化。

3)DSP的代码需要绝对定位;主机的C的代码有操作系统定位。

4)DSP的C的效率较高,非常适合于嵌入系统。

三.DSP发展动态1.TMS320C2000 TMS320C2000系列包括C24x和C28x系列。

C24x系列建议使用LF24xx 系列替代C24x系列,LF24xx系列的价格比C24x便宜,性能高于C24x,而且LF24xxA具有加密功能。

C28x系列主要用于大存储设备管理,高性能的控制场合。

2.TMS320C3x TMS320C3x系列包括C3x和VC33,主要推荐使用VC33。

C3x系列是TI浮点DSP的基础,不可能停产,但价格不会进一步下调。

3.TMS320C5x TMS320C5x系列已不推荐使用,建议使用C24x或C5000系列替代。

4.TMS320C5000 TMS320C5000系列包括C54x和C55x系列。

其中VC54xx还不断有新的器件出现,如:TMS320VC5471(DSP+ARM7)。

C55x系列是TI的第三代DSP,功耗为VC54xx 的1/6,性能为VC54xx的5倍,是一个正在发展的系列。

C5000系列是目前TI DSP的主流DSP,它涵盖了从低档到中高档的应用领域,目前也是用户最多的系列。

5.TMS320C6000 TMS320C6000系列包括C62xx、C67xx和C64xx。

此系列是TI的高档DSP 系列。

其中C62xx系列是定点的DSP,系列芯片种类较丰富,是主要的应用系列。

C67xx系列是浮点的DSP,用于需要高速浮点处理的领域。

dsp遇到问题及处理方案

dsp遇到问题及处理方案

Dsp遇到的问题集锦1:仿真器驱动没有装好,可以查看“Studio_v3.3/cc/bin”路径下的“xdsfast3.dll”文件,如果这个文件是160K大小那么驱动就是没有装好的。

如果出现这样的问题,即使重装驱动往往也不能成功。

需要删除该“xdsfast3.dll”文件,然后断开PC和仿真器,重新装仿真器驱动。

安装后查看“xdsfast3.dll”文件大小为352K即表示驱动安装成功。

2:Error:Error 0xA0002020/-1044Error during: Execution, Control,Device driver: Cannot acquire emulator processPossible conflict for device driver usage3:Error connecting to the target:Error 0x80000244/-2131Fatal Error during: Register, Initialization, OCS,Cannot access register at 0x00000000Sequence ID: 0Error Code: -2131Error Class: 0x800002444:Error:Error 0xA0003020/-1137Error during: Execution, Target, Control,It appears that the target is being held in reset. This may be due to Wait-In-Reset (WIR) configuration set by the EMU0=0 and EMU1=1 pin settings. If this is the case, DISCONNECTall CONNECTED devices including icepick and then select RETRY to clear the WIR configuration.If this is a multi-core system, the master CPU may not be releasing the DSP/MCU from reset. Please check your configuration in CC_setup and/or your GEL file to ensure that nothing is blocking the DSP/MCU from being released from resetSequence ID: 16Error Code: -1137Error Class: 0xA0003020。

dsp编译错误与解决方法(精)

dsp编译错误与解决方法(精)
2 Q I have started to study the book "Digital Signal Processing and Applications with the C671
3 and C6416 DSK (by Rulph Chassaing, 2005". I am working with a C6713DSK, using CCS 3.1. But when I try to run the first example (sine8_LED in Rulph Chassaing's book on the C6713 Device Cycle Accurate Simulator, I get the following error messages: Trouble running Target CPU: Memory Map Error: READ access by CPU to address 0x1b7c100, which is RESERVED in Hardware. Trouble running Target CPU: Memory Map Error: WRITE access by Default to address 0x1b7c100, which is RESERVED in Hardware.
main.cpp
#include "global.h"
WinMain(....
...
}
file_1.cpp
#include "global.h"
....
file_2.34;
...
由于工程中的每个文件都是独立的解释的即使头文件有
#ifndef _x_h

DSP软件常见错误

DSP软件常见错误

1、仿真器驱动的问题。

CCS和仿真器驱动要装在同一路径下,最好都选择其默认的路径。

有时,通过usb20emurst.exe检验到仿真器连接是好的,但打开CCS时,仍然跳出窗口提示Can’t initialize target CPU。

还是因为仿真器驱动安装问题,先将仿真器换一个usb接口试一下,如仍提示错误,则要重新安装驱动。

2、CCS配置。

选择C64xx XDS510 Emulator;Configuration File选择Auto-generate board data file with extra configuration项,C:\ti\drivers\Seedusb2.cfg;I/O Port 0x240;StartupGEL:C:\ti\cc\gel\SEEDDM642.gel。

3、编译错误: SEED301_AverageSmooth\AverageSmoothloop2.jpterror: illegal relocation type found in section .debug_info, file是因为rts6400.lib库文件与CCS版本不符。

库文件要使用CCS安装文件夹自带的。

4、编译错误:symbol xxx is defined multiple times.(1)因为库文件的问题,更改库文件;(2)是因为将本应该在include下的文件加在了source里。

注意:在uCOS_II.c文件里有include语句,包括了os_core.c、os_flag.c、os_mbox.c、os_mem.c、os_mutex.c、os_q.c、os_sem.c、os_task.c、os_time.c文件,因而这些文件不需手动加入工程。

(3)源文件添加过多,造成变量重复定义。

5、编译错误:symbol xxx is undefined。

出现symbol错误,一般都是因为库文件的问题。

DSP错误总结!

DSP错误总结!

1.warning:entry point symbol _c_int00 undefined使用C写DSP时,在rts.lib库中定义了入口地址:_c_int00而使用汇编语言编程,就不用包括rts.lib库,所以入口地址及其标号可以由人工指定。

而使用C时,就不同了,必须从rts.lib定义的这个入口_c_int00入口,是约定的。

The–c and cr options cause the linker to use linking conventions that are required by the Ccompiler.”其实在汇编语句中也可以不用_c_int00来定义程序入口,只要把编译器选项-c去掉,用-e选项来定义你想要的程序入口地址。

这个可在CMD文件里加-c。

这个错误是没有加库文件,你可以project view右键加入,也可以在project->build options->Linker->libraries中加入../../lib/cls/lib/(搜索路径)还要加上库名cslDM642.lib;rts6400.lib分号隔开。

2.Error:Illegal opcode at pc = 0x000190我第一次遇到这种错误,因为B跳转(分支)指令要有五个周期的延时,所以加上NOP 5就好了。

b .s2 b3;NOP53. error:can't allocate .text, size 006e40 (page 0) in LP (avail:001000)>>error:errors in input - ./Debug/mytest2.out not built这种情况是你的CMD文件中分配的存储空间太小了,LP:origin = 0x0,len = 0x1000改成LP:origin = 0x0,len = 0x100就可以可。

DSP常见编译错误

DSP常见编译错误

1. DSP编程技巧到底有什么好资料?话说专门深入讲解这个的资料并不是太多,因为大部分DSP书籍都是讲解算法或者寄存器是怎么使用的,那尽量罗列一下(如有遗漏请在评论区补充),有:(1)《DSP C2000程序员高手进阶》这本书是当年笔者学习DSP的时候看了好几遍的,讲的非常深入、透彻,可惜早就卖光了并且没有再版。

需要的网友可以考虑去图书馆看看,图书馆里最不缺少的就是老版本的书籍了。

(2)EEPW牛人业话我们EEPW首页的牛人业话里,已经有大量这方面的总结了,链接太多就不一一列举了,请到/news/articlelist/type/39中阅读。

(3)官方资料最权威的当然还是官方资料,特别是《TMS320C28x Optimizing C/C++ Compiler User’s Guide》和《TMS320C28x Assembly Language Tools User’s Guide》。

不足之处就在于,它们都像教科书,严谨有余,活泼不足,特别是初入门的人看起来会比较累。

(4)参加一些培训好的培训一般都是要付费的,这个要根据自己的实际情况进行取舍了。

2. 答疑解惑哪家强?经验的积累,除了自己努力的自学之外,有时候一些难关还是得有别人的帮助才行,可能你花3天搞不定的问题,他一看就想起来是什么原因了。

如果是企业客户,那直接联系官方技术支持,很容易就搞定了。

或者也可以去官方论坛提问,然后等待解答。

对于广大网友来说,直接获得技术支持可能有一定的难度。

我们EEPW的论坛的人气充足,对问题的响应速度也是迅雷不及掩耳的,所以有关DSP的问题尽可以到/forum/29/1下提问。

前面这两个无关具体技术,但是能起到―源头‖的作用。

接下来就是具体的技术问题了,有几十个,我们慢慢来看吧。

3. 作为入门者,创建一个最基本的工程需要做哪些事情?最简单的入门方法是从现有的例子上入手,比如购买开发板的话,一般都会附送十几到几十个上手用的例子工程,把它们研究一遍,基本上入门这关就过了。

烧写Flash后的DSP程序运行不正常的情况分析

烧写Flash后的DSP程序运行不正常的情况分析

这段时间一直在调试DSP6713的Flash烧写,现在对Flash的烧写也算心中了如。

那天,非常Happy的发现将闪烁LED烧写到Flash成功了,然后,就以为一切都OK了……那天,成功烧写了一个300KB以上的程序,又认为,这次应该OK了……那天,写了个Timer中断程序,烧写到Flash,却死机了……那天,在RAM上运行很流畅的一个算法(算法中调用了CCS的atan函数),在烧写到Flash 后算法却死机了……那天,我开始思考:是什么情况导致RAM中跑得很Happy的程序烧写到Flash就运行得如此的不堪——众多的囧相。

“且行且珍惜”,珍惜这些次发现Bug的机会,因此,我要总结:在RAM中能正常运行,而烧写到Flash后无法正常运行的一些情况讨论。

中断向量表包含了所有中断的入口,在烧写Flash的时候,有两种方式可以保证中断能正常工作。

具体可参见TMS320C6713烧写Flash的通用方法的第5小节。

很多情况下,当出现数组越界时,在RAM中的程序都能正常运行,但在烧写Flash后运行就会出现死机或程序跑飞的现象。

比如定义一个数组,你使用x[5]=10这样的语句在RAM程序中是某些时候能正确运行的,在PC上应该也可以。

但将这种程序烧写到Flash之后运行,DSP果断和你说拜拜!因此,请谨慎地检查程序代码中的数组越界和指针操作。

在DSP程序中,坚决不使用C库函数中的malloc函数。

如果需要动态分配内存的操作,可以自己写一个,或使用uCOS II或DSP/BIOS 等嵌入式操作系统。

也不知道是什么原因,也可能是我对atan函数的使用方法不正确造成的吧。

在我的一个最初的程序中,我是直接这样计算atan(x)的,在RAM中以及在PC中都多次测试过没有任何问题。

烧写Flash之后,也不是死机,但程序运行到atan这个函数的时候会卡上很长一段时间,再接着往下运行。

难道是math.h中的atan运算效率太低?但为什么RAM中就能运行呢?这个还不清楚。

DSP程序编写和调试的常见问题

DSP程序编写和调试的常见问题

DSP仿真器为什么必须连接目标系统(Target)?DSP的仿真器同单片机的不同,仿真器中没有DSP,提供IEEE 标准的JTAG口对DSP进行仿真调试,所以仿真器必须有仿真对象,及目标系统。

目标系统就是你的产品,上面必须有DSP。

仿真器提供JTAG同目标系统的DSP相接,通过DSP实现对整个目标系统的调试。

仿真工作正常对于DSP的基本要求1)DSP电源和地连接正确。

2)DSP时钟正确。

3)DSP的控制信号RS和HOLD信号接高电平。

4)C2000的watchdog关掉。

5)不可屏蔽中断NMI上拉高电平。

CCS或Emurst运行时提示“Can't Initialize Target DSP”1)仿真器连接是否正常?2)仿真器的I/O设置是否正确?3)XDSPP仿真器的电源是否正确?4)目标系统是否正确?5)仿真器是否正常?建议使用目标板测试。

DSP的C语言同主机C语言的主要区别?1)DSP的C语言是标准的ANSI C,它不包括同外设联系的扩展部分,如键盘输入、屏幕显示等。

但在CCS中,为了方便调试,可以将数据通过prinf命令虚拟输出到主机的屏幕上。

2)DSP的C语言的编译过程为,C编译为ASM,再由ASM编译为OBJ。

因此C和ASM的对应关系非常明确,非常便于人工优化。

3)DSP的代码需要绝对定位;主机的C的代码有操作系统定位。

4)DSP的C的效率较高,非常适合于嵌入系统。

Link的cmd文件的作用是什么?Link的cmd文件用于DSP代码的定位。

由于DSP的编译器的编译结果是未定位的,DSP没有操作系统来定位执行代码,每个客户设计的DSP系统的配置也不尽相同,因此需要用户自己定义代码的安装位置。

以C5000为例,基本格式为:-o sample.out -m sample.map -stack 100 sample.obj meminit.obj -l rts.lib ME MORY { PAGE 0: VECT: origin = 0xff80, length 0x80 PAG E 0: PROG: origin = 0x2000, length 0x400 PAGE 1: DATA: origin = 0x800, length 0x400 } SECTIONS { .vectors : {} >P ROG PAGE 0 .text : {} >PROG PAGE 0 .data : {} >PROG PAGE 0 .cinit : {} >PROG PAGE 0 .bss : {} >DATA PAGE 1}如何将OUT文件转换为可以烧写ROM的文件格式?DSP的开发软件集成了一个程序,可以从执行文件OUT转换到编程器可以接受的格式,使得编程器可以用次文件烧写EPROM 或Flash。

DSP一些常见问题(1)

DSP一些常见问题(1)

【转】DSP CCS初学调试问题汇总(2011-11-02 12:52:52)1.DSP/BIOS应用程序调试(2009.10.20)在CCS2.0的emulator写dsp/bios的程序,编译链接无错误,而点击LOAD Program下载xxx.out完成时弹出如下对话框:RTDX target application does not match emulation protocol!Loaded program was created with an rtdx library which does not match the target device这将导致RTDX(实时数据交换)不能使用分析:RTXD可以在DSP/BIOS中使用,也可以脱离DSP/BIOS使用;目前CCS Simulator不支持RTDX,故RTDX必须在Emulator下使用,即还需要硬件仿真器和DSP目标板。

故这是由于下载BIOS/DSP程序时RTDX设置错误导致的;问题解决如下:把DSP/BIOS配置窗口中的input/output-->RTDX -real-Time Exchange settings的RTDX mode 改为JTAG(原来是simulator),重新编译后LOAD,上述警告消除,可以在模拟的情况下进行BIOS调试了。

PS:虽然simulator能编译运行DSP/BIOS程序,并能提供实时查询程序运行情况(主要是CPU 负荷,时序,日志以及线程等)。

但实际开发DSP/BIOS应用程序时为了真实的了解目标板的各种信息,仅有Simulator(软件仿真器)是不行的,还需要使用Emulator(硬件仿真器)和DSP/BIOS插件(安装时已装入)。

2.RTDX应用程序调试(10.22)RTDX测试DSP Target传输数据到PC机:a)创建工程,编辑源代码(.c/。

asm),加入头文件(.h),库文件(.lib)以及链接命令文件(.cmd)b)添加修改具有实时数据传输的RTDX语句包括:#include <rtdx.h>; RTDX头文件(rtdx.h)RTDX_CreateOutputChannel( ochan );定义一个全局的PC机数据输出通道,通道名可以任取TARGET——INITIALIZE();初始化DSP目标系统;RTDX_enableOutput( &ochan );使能输出通道写数据;status=RTDX_write( &ochan,&data,sizeof(data) );传送数据至PC;RTDX_disableOutput( &ochan );禁止输出通道传输数据。

dsp编译错误与解决方法(精)

dsp编译错误与解决方法(精)
在其他文件中只要包含了global.h就会独立的解释,然后生成每个文件生成独立的标示符。在编译器连接时,就会将工程中所有的符号整合在一起,由于文件中有重名变量,于是就出现了重复定义的错误。
下面是解决方法
在global.c或.cpp中声明变量然后建一个头文件global.h在所有的变量声明前加上extern ...如extern HANDLE ghEvent;注意这儿不要有变量的初始化语句。然后在其他需要使用全局变量的cpp文件中包含.h文件而不要包含.cpp文件。编译器会为global.cpp生成目标文件然后连接时在使用全局变量的文件中就会连接到此文件。在其他文件中只要包含了global.h就会独立的解释,然后生成每个文件生成独立的标示符。在编译器连接时就会将工程中所有的符号整合在一起,由于文件中有重名变量,于是就出现了重复定义的错误。
can't open file '/.obj' for input是什么原因引起的?
cmd文件中有不合法的符号比如“//”等
1 fatal error: #error NO CHIP DEFINED详细的出错信息:
"...." -g -q -fr"e:/project_documents/dsp_project/dsp_mp3/Debug" -d"_DEBUG" -@"Debug.lkf" ...c"
3把调试程序的时候的一些错误提示和解决方法记录下来,有备无患
1.symbol referencing errors
undefined first refere----- ----------------
_dot_asm E:\CCStudio_v3.1\MyProjects\dot_mpy_6211\Debug
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Error: Read status value 0x0001 from symbol PRG_status
Flash algorithm failed during clear operation
开始可以正常烧写的,但是上机调试了一下就不能写了.
在烧写lf2407内部flash时出现如下错误,不知是什么原因造成的?
Error:Read status value 0x0001 from symbol PRG_status
Flash algorithm failed during clear operation.
换了一个芯片后正常
之前有一次在试CCS功能时,一不小心点了一次加密,还没有执行完,就马上点了解密,大概这样烧坏了吧!
太脆弱了,再也不敢试加密了
CMD文件要避开FLASH的40H--44H区间,
我也出现过这样的问题,烧写2407A的片内flash时会出现下面的错误提示:Error: Read status value 0x0001 form symbol PRG_status
Flash algorithm failed during clear operation
后来换了一块2407就能烧写了。

是不是2407的flash坏了?有没有办法检测或者修复flash?
昨天在网上查了一下,很多人都遇到了这种问题,可能是dsp内部flash烧坏了吧! 今天重新换了一块芯片,可以烧录进去了,但是上拿到样机上调试一下,再烧录就出现了同样的问题,估计又是flash坏了,到底是什么原因引起的?是不是电源引起的呢?
我也出现过能仿真,但不能烧写的情况!解决方法:
解决方法:降低时钟频率。

点击FLASH插件上的“View Config File”,打开VAR.h文件。

将该文件中的“PLL_PATIO_CONST .Set 0000h”改成
“PLL_PATIO_CONST .Set 0200h”存盘后,执行目录下的Buildall.bat批处理文件。

再重新启动CCS及FLASH插件。

请教高手:在烧写程序的时候出现如下错误:Error: Read status value 0x0001 from s
ymbol PRG_status
Flash algorithm failed during clear operation
是怎么回事啊?
是不是片子坏了?
昨天烧写的时候还是好的.
有人告诉我说flash烧掉了,但是用仿真器调试的时候还可以用,是不是这样啊?
我的板子上有RAM,但是用Load Program的时候总是出错,不知道是什么问题,所以才烧写的.
两块板子都是一样,其中一块烧写了十几次,另一块烧写了不是一次就是两次,现在flas
h都烧掉了,真是心疼啊!5555555555555!
片外RAM应该怎么用啊?
Load Program的时候弹出对话框:Data verification failed at address
0x24F,please verify target memory and memory map
请高手指教一下!多谢了!
是你的 5V电源有问题,纹波大或上下电时有高压脉冲
是你的 5V电源有问题,纹波大或上下电时有高压脉冲,烧坏了你的DSP内的FLASH,可以用示波器测量一下你的电源上下电情况,以前我们也遇到过,当时找来TI的上海办工程师来查,还有一个代理商的技术支持也来查过,都没查出问题。

后来查明是 5电源上下电时有一个 15V 10毫秒的脉冲。

就是这个,我们烧了十几片,改正后就再没发生了。

1.首先说,我也遇到过同样的问题。

芯片坏掉不能再恢复,只能换掉。

2.要避免同样的情况再次发生。

我这里的原因查明了。

是电源问题。

5V电源在掉电时有10V 20ms的脉冲,足以把flash烧掉了。

没改时,烧10次有2次坏一个片子,改正后就没有再发生了。

3.烧写程序时电源纹波过大,造成reset发生。

(这个很少发生)。

最大可能是DSP的FLASH烧掉了,这个烧掉不影响程序的仿真;我之前也是烧不进去,后来换了块芯片就好了,芯片的来源很重要。

第二个问题是你在烧写程序时将CMD修改了没有,要跳过密保单元;
你的memory map设置是否正确?
还有哦如果烧写flash 评估办上跳线是否正确?
我用的时候好几块评估板都是可以load programme
可以加载到ram 中进行仿真
但是不能烧写道flash 进行自动运行
Data verification failed at address 0xC0 please verify target memory and memory map
问题补充:整个load过程这样的错误提示有两次,比如一次在0x100处,那么下一次就在0x104处了,各位帮看看吧,搞的头好痛,天天叫头疼还会被别人怀疑猪流感,郁闷
你这个CMD是针对flash,下载程序的时候用的,仿真的时候在ram里边。

PROG : origin = 00150h, length = 07E50h /*片内FLASH*/
我也遇到这样的问题,同样郁闷
一个以前跑过的好好的程序,因为改了仿真器的配置,就出现了楼主所述问题
反复尝试,都是如楼主所述
后来我是通过以下方法解决的:打开Setup CCStudio v3.3-选择F2407 XDS510 Emulator-设置F2407 XDS510 Emulator的属性-再设置TMS320C24xx_0的属性
我以前也遇到过,用如下的方法解决的:
首先,"degug"--"reset DSP";
然后, 电路上硬件复位,即reset引脚处的复位。

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.
RE:在调试硬件时,程序无法下载到存储器中,出现错误,data verification failed at address 0x40,please verify target memory and
您好!
1. 确定CMD文件没有问题,到底是Flash的CMD还是Ram的?
2. 用TI的历程尝试,判断是否是硬件问题。

相关文档
最新文档