This option specifies whether to perform the CRC operation.
The CRC operation and outputting the result are not performed.
CRC (cyclic redundancy check) operation is done for the specified range of load objects in the order from the lower to the higher addresses, and the result is output to the specified output address in the specified endian. |
Specify the operation range (start address and end address) for start and end. |
When the specification of the operation method is omitted, it is assumed that 16-CCITT-MSB-LITTLE-4 has been specified.
Specify the initial value for the operation for initial-value. |
When the operation result is output to the specified output address, data is written in the byte order specified as BIG or LITTLE at the specified offset from the beginning of the area allocated with the specified size. 0 is output from the beginning of the allocated area until immediately before the offset location. |
When the size and offset are omitted, the size is assumed to be 2 bytes and the offset is assumed to be 0. |
When the -space option is not specified, the -space=FF option is assumed for CRC operation for the unused areas in the operation range. |
>rlink *.obj -form=stype -start=.SEC1,.SEC2/1000,.SEC3/2000 -crc=2FFE=1000-2FFD -output=out.mot=1000-2FFF |
-crc option: -crc=2FFE=1000-2FFD
CRC operation is done for the area from 0x1000 to 0x2FFD and the result is output to address 0x2FFE.
When the -space option is not specified, the -space=FF option is assumed for CRC operation for the unused areas in the operation range.
-output option: -output=out.mot=1000-2FFF
As the -space option is not specified, nothing is output to out.mot for the unused areas.
0xFF is assumed for CRC operation for the unused areas, but the areas are not actually filled with 0xFF.
The CRC output location should be included in the output range specified by the -output option. |
>rlink *.obj -form=stype -start=.SEC1/1000,.SEC2/1800,.SEC3/2000 -space=7F -crc=2FFE=1000-17FF,2000-27FF -output=out.mot=1000-2FFF |
-crc option: -crc=2FFE=1000-17FD,2000-27FF
CRC operation is done for two areas from 0x1000 to 0x17FD and from 0x2000 to 0x27FF, and the result is output to address 0x2FFE.
Multiple non-contiguous operation ranges can be specified as the target of CRC operation.
For unused areas in the specified operation ranges, the value (0x7F) specified by the -space option is used for CRC operation.
-output option: -output=out.mot=1000-2FFF
As the -space option is specified, data for the unused areas is output to out.mot.
The unused areas are filled with 0x7F.
CRC operation is not done in the order of the operation range specifications. CRC is calculated in the order from the lower to the higher addresses. |
When both the -crc option and the -space option are specified, "random" or a value larger than 2 bytes must not be specified in the -space option. Be sure to specify a 1-byte value. |
>rlink *.obj -form=stype -start=.SEC1,.SEC2/1000,.SEC3/2000 -crc=1FFE=1000-1FFD,2000-2FFF -output=flmem.mot=1000-1FFF |
-crc option: -crc=1FFE=1000-1FFD,2000-2FFF
CRC operation is done for areas from 0x1000 to 0x1FFD and from 0x2000 to 0x2FFF, and the result is output to address 0x1FFE.
When the -space option is not specified, the -space=FF option is assumed for CRC operation for the unused areas in the operation range.
-output option: -output=flmem.mot=1000-1FFF
As the -space option is not specified, nothing is output to flmem.mot for the unused areas.
0xFF is assumed for CRC operation for the unused areas, but the areas are not actually filled with 0xFF.
When the -space option is not specified and the operation range includes an empty area that is not output, 0xFF is assumed to be stored in the unused area during CRC operation. |
The following is CRC type mapping from OC78K0R (the object converter of the RL78,78K0R C compiler package CA78K0R (sold separately)) to the optimizing linker. |