这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 嵌入式开发» MCU» 疑难解答!--仿真器专题之三

共1条 1/1 1 跳转至

疑难解答!--仿真器专题之三

院士
2002-05-17 19:34:45 打赏
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 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]