当初说要在博客上有技术讨论在其中,但是不知什么原因迟迟没有添加,今天就开先例吧,谈谈DSP芯片的cmd文件的考虑吧.因为本人觉得在DSP变成中,cmd文件是很重要的,它是工程链接命令文件,是联系软件和硬件的文件,主要是在存储器映像中分配块.
链接器对块的处理具有两个功能.首先,它将COFF目标文件中的块用来建立程序块或者数据块,她将输入块组合起来,以建立可执行的COFF输出模块;其次,链接器为输出块选择存储器地址.链接器提供两个命令来完成上述功能:MEMORY和SECTION.
MEMORY命令定义目标系统的存储器,程序员可定义每一块存储器,指定起始地址和长度.
SECTION命令告诉链接器如何组合输入块以及在存储器何处存放输出块.若不用这两个命令,则链接器采用默认的分配算法;若用的话则一般须在链接器命令文件.cmd
MEMORY
{
PAGE 0:
PROG:
origin =
2000h, length = 2000h
PAGE 1:
DATA:
origin =
0c00h, length = 100h
PAGE 2:
DATA:
origin =
0d00h, length = 200h
PAGE 3:
DATA:
origin =
0f00h, length = 100h
}
{
}
SECTIONS
{
.text
> PROG PAGE 0
{
}
主要难点在如何合理安排存储空间,如何设计合适的空间大小,所生成的.out文件必须完全能装进所在空间内,vectors块分配至VECS中,.text块分配到ROM中,.data块分配至ROM 中,.bss块分配至RAM中,等.