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 : {} >DATAPAGE 1
}
如何将 OUT 文件转换为 16 进制的文件格式?
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
}