链接命令文件(.cmd)解析

汇编器对段的处理是通过段伪指令来区别各个段,并将段名相同的语句汇编在一起。

预备知识:链接器的主要任务是:根据链接命令文件(.cmd文件)将一个或多个COFF目标文件链接起来,生成存储器映像文件(.map)和可执行文件(.out)(COFF目标模块)

-c //不区分大小写
-h//不太重要
test.obj//输入的目标文件
-m test.map //指定生成的存储器映像文件
-l rts.lib
-stack 0x800//栈首地址?

MEMORY //用来定义目标系统的存储器配置空间,包括对存储器各部分命名,以及规定它们的起始地址和长度
{//PAGE0~PAGEn n最大为255

   PAGE 0:  PROG命名:    origin =  080h, length = 4000h//16k rom
           
   PAGE 1:  DATA命名:    origin =  1000h, length = 4000h//16k ram
        
}

SECTIONS//此命令告诉链接器如何将输入段组合成输出段,以及将输出段放在存储器中的什么位置
{    vect   > 80h PAGE 0
   .text   > PROG PAGE 0//将.text段定位到PAGE 0
   .cinit  > PROG PAGE 0
   .switch > PROG PAGE 0

   .data   > DATA PAGE 1
   .const  > DATA PAGE 1
   .bss    > DATA PAGE 1
   .sysmem > DATA PAGE 1
   .stack  > DATA  PAGE 1
}

//以上的.text.bss.data.stack等列出的是输出段,和它定位到存储器的某个区域(PROG/DATA)。

//SECTIONS命令中一般不列出每个输入文件的输入段

你可能感兴趣的:(DSP学习)