1
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
当一个从桌面编程转到嵌入式编程,脑子里会产生一些基本问题……
我的代码在哪儿?
我的变量在哪儿?
怎样访问I/O寄存器?
怎样处理中断?
当写桌面应用程序时,通常不用考虑代码放在哪里。操作系统负责管理内存分配。处理嵌
入式设备,你不得不充当OS决定将代码放在何处,至少决定代码开始之处……事实是连接器为
我们作了大量工作,但并是所有的事情。
为让连接器知道我们的特定设备或目标的存贮器分布,我们不得不指定它。定义的代码的
定位以及内存寻址的数据段由连接器的参数文件控制。这个文件由后缀 “.prm”识别。连接器
的参数文件是一个ASCII文本件。对每个程序你得写一个这样的文件。它包含指导如何连接的
命令。
这个文件中,SECTIONS命令块用于定义存贮器的物理区域。在SECTIONS命令块中,每个
单独的物理存贮器段用一个名字、一个属性和一个地址范围描述。
一 旦 定 义 了 SECTIONS , 代 码 和 数 据 段 用 PLACEMENT 命 令 块 定 位 到 存 贮 器 中 。
PLACEMENT命令块用于将代码和数据段定位到存贮器段。
参数文件中命令的顺序没有关系。你只应确定SEGMENTS块在PLACEMENT块之前指定。若要
详细了解连接器的参数文件请参考Metrowerks的手册文件“SmartLinker.pdf”。
# pragma指示符