4.2 User-defined Psects for Mid-range and Baseline Devices
PSECT resetVec,class=CODE,delta=2Notice that the reloc=2 flag that was used in the PIC18 example is not
necessary with psects that hold code for Mid-range or Baseline devices. As this flag has
not been specified, the reloc value defaults to 1, which implies that
this psect will not be word aligned. Instructions on Mid-range or Baseline devices can
be located at any address, so no word alignment is necessary.
The new psect flag that has been used with resetVec is the
delta flag. A delta value of 2 indicates that 2
bytes reside at each address in the memory space where this psect will be located. This
agrees with the program memory implemented on Mid-range and Baseline devices, which is
either 14 or 12 bits wide (respectively) and which requires 2 whole bytes to program.
PIC18 devices, on the other hand, define 1 byte of memory at each address, hence the
delta value associated with psects holding code for those devices
should be set to 1 (the default value if no delta flag is used).
Any program memory psect holding executable code on a Mid-range or Baseline devices must
set the delta flag to 2. Psects destined for data memory or psects used
with other devices should omit the delta flag or explicitly set the
flag value to 1.
