打印

转:DSP程序的编写、调试及仿真

[复制链接]
1303|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
拿起书本|  楼主 | 2014-3-24 22:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DSP仿真器为什么必须连接目标系统?
       DSP的仿真器同单片机的不同,仿真器中没有DSP,提供IEEE标准的JTAG口对DSP进行仿真调试,所以仿真器必须有仿真对象,及目标系统。目标系统就是你的产品,上面必须有DSP。仿真器提供JTAG同目标系统的DSP相接,通过DSP实现对整个目标系统的调试。

仿真工作正常对于DSP的基本要求:

       1)DSP电源和地连接正确。

       2)DSP时钟正确。

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

       4)Watchdog关掉。

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

CCS或Emurst运行时提示“Can't Initialize Target DSP”

       1)仿真器连接是否正常?

       2)仿真器的I/O设置是否正确?

       3)仿真器的电源是否正确?

       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 MEMORY { PAGE 0: VECT: origin = 0xff80, length 0x80 PAGE 0: PROG: origin = 0x2000, length 0x400 PAGE 1: DATA: origin = 0x800, length 0x400 } SECTIONS { .vectors : {} >PROG PAGE 0 .text : {} >PROG PAGE 0 .data : {} >PROG PAGE 0 .cinit : {} >PROG PAGE 0 .bss : {} >DATA PAGE 1}

如何将OUT文件转换为可以烧写ROM的文件格式?

    DSP的开发软件集成了一个程序,可以从执行文件OUT转换到编程器可以接受的格式,使得编程器可以用次文件烧写EPROM或Flash。对于C2000 的程序为DSPHEX;对于C3x程序为HEX30;对于C54x程序为HEX500;对于C55x程序为HEX55;对于C6x程序为Hex6x。

以 C32为例,基本格式为:

sample.out -x -memwidth 8 -bootorg 900000h -iostrb 0h -strb0 03f0000h -strb1 01f0000h -o sample.hex ROMS { EPROM: org = 0x900000,len=0x02000,romwidth=8 } SECTIONS { .text: paddr=boot .data: paddr=boot }

在CCS下,OUT文件加载时提示“Data verification failed...”的原因?

       Link的CMD文件分配的地址同GEL或设置的有效地址空间不符。中断向量定位处或其它代码、数据段定位处,没有RAM,无法加载OUT文件。解决方法:

       1)调整Link的CMD文件,使得定位段处有RAM。

       2)调整存储器设置,使得RAM区有效。

TI DSP的C语言的特点,如何使我编写的C更高效?

       TI DSP的C语言是标准的ANSI的C,是一个专门优化的C。对于C3x/C5000/C6000的用户,C对于ASM的效率可以达近1:1。 TI的DSP,每个系列有每个的特点。要编制高效的C程序,建议:

       1)根据DSP的特点,调整程序编写的流程,任务的分配。

       2)数据尽量放在片内。

       3)对于要求高的子程序,用人工优化或ASM编写。

为什么要使用BIOS?

       1)BIOS是Basic I/O System的简称,是基本的输入、输出管理。

       2)用于管理任务的调度,程序实时分析,中断管理,跟踪管理和实时数据交换。

       3)BIOS是基本的实时系统,使用BIOS可以方便地实现多任务、多进程的时间管理。

       4)BIOS是eXpress DSP的标准平台,要使用eXpress DSP技术,必须使用BIOS。
评分
参与人数 1威望 +4 收起 理由
zhangmangui + 4 很给力!

相关帖子

沙发
zhangmangui| | 2014-3-24 22:39 | 只看该作者
学习  啦   谢谢分享

使用特权

评论回复
板凳
huangfeng33| | 2014-4-2 15:57 | 只看该作者
感谢楼主提供的资料,对初学者学习TI DSP程序的调试和开发有很大的帮助!

使用特权

评论回复
地板
long009| | 2014-11-30 14:26 | 只看该作者
谢谢分享

使用特权

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

本版积分规则

个人签名:好好学习,天天向上!

519

主题

4195

帖子

31

粉丝