Microchip Technology XC8 Standard Compiler (Workstation) SW006021-1 SW006021-1 ユーザーズマニュアル
製品コード
SW006021-1
Utilities
2012 Microchip Technology Inc.
DS52053B-page 305
8.6.1.1
SPECIFICATIONS,FILENAME.HEX
Intel HEX files that can be processed by HEXMATE should be in either INHX32 or
INHX8M format. Additional specifications can be applied to each HEX file to put
restrictions or conditions on how this file should be processed.
INHX8M format. Additional specifications can be applied to each HEX file to put
restrictions or conditions on how this file should be processed.
If any specifications are used they must precede the filename. The list of specifications
will then be separated from the filename by a comma.
will then be separated from the filename by a comma.
A range restriction can be applied with the specification rStart-End. A range restric-
tion will cause only the address data falling within this range to be used. For example:
tion will cause only the address data falling within this range to be used. For example:
r100-1FF,myfile.hex
will use myfile.hex as input, but only process data which is addressed within the
range 100h-1FFh (inclusive) from that file.
range 100h-1FFh (inclusive) from that file.
An address shift can be applied with the specification sOffset. If an address shift is
used, data read from this HEX file will be shifted (by the offset specified) to a new
address when generating the output. The offset can be either positive or negative. For
example:
used, data read from this HEX file will be shifted (by the offset specified) to a new
address when generating the output. The offset can be either positive or negative. For
example:
r100-1FFs2000,myfile.HEX
will shift the block of data from 100h-1FFh to the new address range 2100h-21FFh.
Be careful when shifting sections of executable code. Program code should only be
shifted if it is position independent.
shifted if it is position independent.
8.6.1.2
+ PREFIX
When the + operator precedes an argument or input file, the data obtained from that
source will be forced into the output file and will overwrite another other data existing
at that address range. For example:
source will be forced into the output file and will overwrite another other data existing
at that address range. For example:
+input.HEX +-STRING@1000=”My string”
Ordinarily, HEXMATE will issue an error if two sources try to store differing data at the
same location. Using the + operator informs HEXMATE that if more than one data
source tries to store data to the same address, the one specified with a + prefix will take
priority.
same location. Using the + operator informs HEXMATE that if more than one data
source tries to store data to the same address, the one specified with a + prefix will take
priority.
8.6.1.3
-ADDRESSING
By default, all address arguments in HEXMATE options expect that values will be
entered as byte addresses. In some device architectures the native addressing format
may be something other than byte addressing. In these cases it would be much simpler
to be able to enter address-components in the device’s native format. To facilitate this,
the -ADDRESSING option is used.
entered as byte addresses. In some device architectures the native addressing format
may be something other than byte addressing. In these cases it would be much simpler
to be able to enter address-components in the device’s native format. To facilitate this,
the -ADDRESSING option is used.
This option takes exactly one parameter which configures the number of bytes con-
tained per address location. If, for example, a device’s program memory naturally used
a 16-bit (2 byte) word-addressing format, the option -ADDRESSING=2 will configure
HEXMATE
tained per address location. If, for example, a device’s program memory naturally used
a 16-bit (2 byte) word-addressing format, the option -ADDRESSING=2 will configure
HEXMATE
to interpret all command line address fields as word addresses. The affect of
this setting is global and all HEXMATE options will now interpret addresses according to
this setting. This option will allow specification of addressing modes from one byte per
address to four bytes per address.
this setting. This option will allow specification of addressing modes from one byte per
address to four bytes per address.
8.6.1.4
-BREAK
This option takes a comma-separated list of addresses. If any of these addresses are
encountered in the HEX file, the current data record will conclude and a new data
record will recommence from the nominated address. This can be useful to use new
data records to force a distinction between functionally different areas of program
space. Some HEX file readers depend on this.
encountered in the HEX file, the current data record will conclude and a new data
record will recommence from the nominated address. This can be useful to use new
data records to force a distinction between functionally different areas of program
space. Some HEX file readers depend on this.