DSP BIOS 出错原因

2019-07-25 14:20发布

1.DSP/BIOS应用程序调试

在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插件(安装时已装入)。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
15条回答
sunmeat
2019-07-25 15:43
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 );  禁止输出通道传输数据。

c)进行数据处理,测试应用程序

编译链接完成后载入.out文件。在TOOLS-RTDX-Configration中设置RTDX使能,运行debug-run。

出现问题:下载可执行文件时提示

“Data verification failed at address 0x(某地址)Please verify target memory and memory map.”

按跳过提示下载完成后messages栏提示:

Can't Set Breakpoint: Error 0x00000008/-1076 Error during: Break Point,  Cannot set/verify breakpoint at 0x80007958
Breakpoint Manager: An error was encountered attempting to set a breakpoint used
for end of program detection.
Can't Set Breakpoint: Error 0x00000008/-1076 Error during: Break Point,  Cannot set/verify breakpoint at 0x800081B4

分析:根据CMD文件确认你的地址分配是否在DSP可分配的RAM中;如果给程序分配的地址不在片内的RAM段肯定是会出错的。可能CMD地址空间实际上不属于RAM映射地址范畴,导致不能正常读写。
另外如果DSP片内有程序正在运行,在下载新程序的时候也会出错。出现这种情况,可以在DSP启动前与CCS进行连接。

解决:更改cmd文件中的地址分配使之与OPTION中的Memory Map映射地址空间一致。

一周热门 更多>