源代码,经编译器,生成可重定位的代码块和数据块(称为段-section).
然后经连接器,将这些段分配到目标存储器。
可通过.cmd文件用两个伪指令来定义连接:
memory – 定义存储器各部分的起始地址和长度
sections – 定义把各个段放在存储器的什么位置
可通过生成.map文件来观察代码和数据空间的映射关系。
CCS例程中的一个.cmd文件如下:
MEMORY
{
IPRAM : origin = 0×0, len = 0×10000
IDRAM : origin = 0×80000000, len = 0×10000
}
SECTIONS
{
.vectors > IPRAM
.text > IPRAM
.bss > IDRAM
.cinit > IDRAM
.const > IDRAM
.far > IDRAM
.stack > IDRAM
.cio > IDRAM
.sysmem > IDRAM
}