打印

DSP BIOS 出错原因

[复制链接]
1218|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sunmeat|  楼主 | 2015-10-28 14:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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插件(安装时已装入)。

相关帖子

沙发
sunmeat|  楼主 | 2015-10-28 14:50 | 只看该作者
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映射地址空间一致。

使用特权

评论回复
板凳
sunmeat|  楼主 | 2015-10-28 14:50 | 只看该作者
3.DSP硬件仿真环境问题汇总

a)无论是在硬件仿真环境还是软件仿真环境中都无法创建DSP项目,可能是安装时在以前安装过CCS的软件,导致冲突;链接文件.dll未注册,或者与系统文件不兼容,解决方法:建议备份文件后重装C盘



b)打开STEP后,无法初始化硬件仿真器



可能的原因是





CCS STEP中的硬件配置USB驱动安装或者I/O口出现错误(如1仿真器连接是否正常? 2仿真器的I/O设置是否正确? 3XDS仿真器的电源及仿真头是否正确? 4目标系统型号是否正确? 5仿真器是否正常?);

USB驱动程序未安装(从“我的电脑-管理”中可以查到是否安装成功驱动)

c)关于gel文件,memory map一致性问题

使用特权

评论回复
地板
sunmeat|  楼主 | 2015-10-28 14:50 | 只看该作者
memory map的作用

1. 内存映射以页面为单位,将文件内容映射到内存中。
    2. 使用内存映射可以创建内存映射文件。内存映射文件的优点是我们不需要调用 read 、write 之类的I/O函数,只需用从内存映射区取、存数据,实际的 I/O 操作是由内核执行的,可以简化代码。

3. 使用内存映射可以实现进程间共享内存。

选择有效的存储器空间映射关系

设计原则:CCS下的存储器空间设置应该与目标板的硬件实际配置一致,没有的存储器不要有效。这样便于调试,CCS会发现你调入程序时或程序运行时,是否访问了无效地址。

配置存储器空间映射的方法:

1)在GEL文件中设置;

2)在Option菜单下,选择Memory Map选项,根据你的硬件设置。注意一定要将Enable Memory Mapping置为使能。

常出现的相关情形:

使用特权

评论回复
5
zhuotuzi| | 2015-10-29 14:53 | 只看该作者
编译链接完成后载入.out文件。在TOOLS-RTDX-Configration中设置RTDX使能,运行debug-run

使用特权

评论回复
6
天灵灵地灵灵| | 2015-10-29 15:18 | 只看该作者
选择有效的存储器空间映射关系

使用特权

评论回复
7
lwsn| | 2015-10-31 11:04 | 只看该作者
实际开发DSP/BIOS时,SimulatorEmulator和DSP/BIOS插件都要用的

使用特权

评论回复
8
734774645| | 2015-10-31 16:37 | 只看该作者
TARGET——INITIALIZE();    初始化DSP目标系统;

使用特权

评论回复
9
公孙璇娟| | 2015-10-31 17:25 | 只看该作者
收藏了,都是实际的经验哇,好多错误的总结!

使用特权

评论回复
10
米尔豪斯| | 2015-10-31 19:14 | 只看该作者
CCS下的存储器空间设置应该与目标板的硬件实际配置一致

使用特权

评论回复
11
尤彼卡| | 2015-10-31 20:19 | 只看该作者
DSP片内有程序正在运行,再下载新程序的时候会出错

使用特权

评论回复
12
捉虫天师| | 2015-10-31 20:38 | 只看该作者
编译链接完成后载入.out文件

使用特权

评论回复
13
Roderman_z| | 2015-10-31 20:41 | 只看该作者
RTXD可以在DSP/BIOS中使用,也可以脱离DSP/BIOS使用

使用特权

评论回复
14
chenci2013| | 2015-10-31 21:46 | 只看该作者
这个真没用过的。

使用特权

评论回复
15
spark周| | 2015-10-31 21:52 | 只看该作者
这个datasheet里都有吧

使用特权

评论回复
16
wangdezhi| | 2015-10-31 22:24 | 只看该作者
没写过bios

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

208

主题

2132

帖子

13

粉丝