11.07.2015 Views

PicC 9.50 dsPIC Manual.pdf

PicC 9.50 dsPIC Manual.pdf

PicC 9.50 dsPIC Manual.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

OperationLinker and Utilities5.7.6 -DsymfileUse this option to produce an old-style symbol file. An old-style symbol file is an ASCII file, whereeach line has the link address of the symbol followed by the symbol name.5.7.7 -EerrfileError messages from the linker are written to standard error (file handle 2). Under DOS there is noconvenient way to redirect this to a file (the compiler drivers will redirect standard error if standardoutput is redirected). This option will make the linker write all error messages to the specified fileinstead of the screen, which is the default standard error destination.5.7.8 -FNormally the linker will produce an object file that contains both program code and data bytes, andsymbol information. Sometimes it is desired to produce a symbol-only object file that can be usedagain in a subsequent linker run to supply symbol values. The -F option will suppress data and codebytes from the output file, leaving only the symbol records.This option can be used when producing more than one hex file for situations where the programis contained in different memory devices located at different addresses. The files for one device arecompiled using this linker option to produce a symbol-only object file; this is then linked with thefiles for the other device. The process can then be repeated for the other files and device.5.7.9 -GspecWhen linking programs using segmented, or bank-switched psects, there are two ways the linkercan assign segment addresses, or selectors, to each segment. A segment is defined as a contiguousgroup of psects where each psect in sequence has both its link and load address concatenated withthe previous psect in the group. The segment address or selector for the segment is the value derivedwhen a segment type relocation is processed by the linker.By default the segment selector will be generated by dividing the base load address of the segmentby the relocation quantum of the segment, which is based on the reloc= flag value given topsects at the assembler level. This is appropriate for 8086 real mode code, but not for protected modeor some bank-switched arrangements. In this instance the -G option is used to specify a method forcalculating the segment selector. The argument to -G is a string similar to:A/10h-4hwhere A represents the load address of the segment and / represents division. This means "Take theload address of the psect, divide by 10 hex, then subtract 4". This form can be modified by substitutingN for A, * for / (to represent multiplication), and adding rather than subtracting a constant.94

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!