ZHCU947E June 2015 – January 2023
有时您可能希望将代码加载到存储器的一个区域,而在另一个区域运行。例如,慢速外部存储器中可能有对性能至关重要的代码。代码必须加载至慢速外部存储器,但在快速外部存储器中能够以更快的速度运行。
链接器提供了实现此目标的简单方式。您可以使用 SECTIONS 指令使链接器分配一个段两次:第一次设置其加载地址,第二次设置其运行地址。例如:
.fir: load = SLOW_MEM, run = FAST_MEM
加载地址使用 load 关键字,运行地址使用 run 关键字。
请参阅GUID-0E218719-C852-4F99-8D70-2A319EC0B8EB.html#GUID-0E218719-C852-4F99-8D70-2A319EC0B8EB,了解运行时重定址的概述。
应用必须将段从其加载地址复制到其运行地址;如果您另外指定了运行地址,这不会 自动发生。(TABLE 操作符指示链接器生成复制表;请参阅GUID-56234D4A-6073-4C65-BD86-2DE70F0538CE.html#GUID-56234D4A-6073-4C65-BD86-2DE70F0538CE。)