【转】Link的cmd文件的作用是什么

2019-07-18 15:14发布

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文件转换为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"
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
cemaj
2019-07-19 07:55
selongli 发表于 2017-3-1 22:15
cmd文件是编译完成之后链接各个目标文件时,用来指示各个数据、符号等是如何划分到各个段,以及每个段所使 ...

现在修改内部数据有时候会造成死机。

一周热门 更多>