ZHCU947E June 2015 – January 2023
十六进制转换实用程序输出地址字段对应于 ROM 器件地址。EPROM 编程器将数据烧录到由十六进制转换实用程序输出文件地址字段指定的位置。十六进制转换实用程序提供了一些机制来控制每段在 ROM 中的起始地址。但是,许多 EPROM 编程器都直接控制 ROM 中的数据烧录位置。
根据您是否使用引导加载程序,十六进制转换实用程序输出文件的控制机制有所不同。
非引导加载程序模式。十六进制转换实用程序输出文件的地址字段由以下机制(按优先级从低到高列出)控制:
您必须将 --zero 选项与 --image 选项搭配使用,以强制每个输出文件中的起始地址为零。如果您指定了不带 --image 选项的 --zero 选项,该实用程序会发出警告并忽略 --zero 选项。
引导加载程序模式。使用引导加载程序时,十六进制转换实用程序会将引导表中的不同段放入连续的存储器位置。每个段都会成为一个引导表块,其目标地址等于由链接器分配的段加载地址。
在引导表中,十六进制转换实用程序输出文件的地址字段与由链接器分配的段加载地址无关。引导表的地址字段只是距表开头的偏移量。由链接器分配的段加载地址将与段的大小和段中包含的数据一起编码到引导表中。在引导加载过程中,这些地址将用于将数据存储到存储器中。
引导表的开头默认为输入文件中第一个可引导段的链接加载地址,除非您使用以下机制(此处按优先级从低到高列出)之一。较高优先级机制会覆盖重叠范围内由低优先级选项设置的值。