共1条
1/1 1 跳转至页
疑难解答!--仿真器专题之三
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
}
Emuinit.cmd文件的功能?
Emuinit.cmd文件在C Source Debugger运行的开始时,由Emuxx调入,主要用于初始化DSP,例如:存储器空间设置;Flash设置等。已C54x为例,基本格式为:
; C54x Emulator Initialization
; Configure memory
eval pmst=0xffa0 ; OVLY=1, MPMC=0
reset
; Configure the debugger memory maps
mr
ma 0x0080, 0, 0x1f80, ram ; DARAM
ma 0x2000, 0, 0x6000, ram ; SARAM
ma 0x8000, 0, 0x7000, ram ; external/paged
ma 0xf800, 0, 0x0780, rom ; on-chip ROM
ma 0xff80, 0, 0x0080, ram ; interrupt vector table
; Extended program memory map
ma 0x18000, 0, 0x8000, ram ; XPC = 1
ma 0x28000, 0, 0x8000, ram ; XPC = 2
ma 0x38000, 0, 0x8000, ram ; XPC = 3
ma 0x48000, 0, 0x8000, ram ; XPC = 4
ma 0x58000, 0, 0x8000, ram ; XPC = 5
ma 0x68000, 0, 0x8000, ram ; XPC = 6
ma 0x78000, 0, 0x8000, ram ; XPC = 7
; Data memory map
ma 0x0000, 1, 0x0060, ram ; memory-mapped registers
ma 0x0060, 1, 0x0020, ram ; scratch pad DARAM
ma 0x0080, 1, 0x1f80, ram ; DARAM
ma 0x2000, 1, 0x6000, ram ; SARAM
ma 0x8000, 1, 0x8000, ram ; external
map on
; Configure extended program addressing
ext_addr_def 0x8000@prog, 0x1e, 0x7f
e *0x28=0x2492 ; memory wait states = 2
e *0x29=0xf802 ; API RAM off
reset
dasm pc ; disassemble window at program counter
echo C54x initialization completed
GEL文件的功能?
GEL文件的功能同emuinit.cmd的功能基本相同,用于初始化DSP。但它的功能比emuinit的功能有所增强,GEL在CCS下有一个菜单,可以根据DSP的对象不同,设置不同的初始化程序。以C5000为例,基本格式见\ti\cc\gel\c5000.gel。
为什么在CCS下编译工具工作不正常?
在CCS下有部分客户会碰到编译工具工作不正常,常见错误为:
1)autoexec.bat的路径“out of memory”。修改autoexec.bat,清除无用的PATH路径。
2)编译的输出文件(OUT文件)写保护,无法覆盖。删除或修改输出文件的属性。
3)Windows有问题。重新安装windows。
4)Windows下有程序对CCS有影响。建议用一“干净”的计算机。
在Debugger下,如何选择有效的存储器空间?
C Source Debugger下的存储器空间最好设置同你的硬件,没有的存储器不要有效。这样便于调试,Debugger会发现你程序运行时是否访问了无效地址。
1)在emuinit.cmd文件中设置。参见11中的示例。
2)在Memory菜单下,选择Add选项,根据你的硬件设置。
在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。
如何从老的编译工具升级到CCS?
1)在Project菜单下,创建project。
2)将源文件(C和ASM文件),加入project中。
3)将Link的CMD加入project中,并将CMD中的库文件设置去除。
4)将include文件和库文件加入project中。
5)设置编译的选项。
Cypress公司对PCI的支持有哪些?
CY7C09449是Cypress为支持PCI所推出的第一个芯片,也是全球第一个集成了双向存储器的PCI芯片。它有以下特点:
1)实现容易。
2)价格便宜。无需连接缓冲存储器。
3)传输率高。无瓶颈问题。
4)开发成本低。无需开发工具投入。
USB的有哪些种类?
1)按种类分有:
接口型:只提供接口。较便宜;使用复杂。
芯片型:本身是一个单片机。使用简单。
2)按用途分有:
Hub型:为了构成USB Hub。
设备型:设备端接口。
主机型:主机端接口。
3)按速度分有:
低速型:1.5M。用于鼠标、键盘等慢速计算机外设。
全速型:12M。用于数据传输。
高速型:480M。开发中。
[em27][em27]
关键词: 疑难解答 仿真器 专题 之三 文件 程序 设置 0
共1条
1/1 1 跳转至页