home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 13 / AACD13.ISO / AACD / Programming / cflink / Documentation / cflink.txt < prev    next >
Text File  |  2000-07-09  |  4KB  |  110 lines

  1.  
  2. Cflink ColdFire Linker (preliminary)
  3. rev. 0.98
  4.  
  5.  
  6. 1. GENERAL
  7.  
  8. The ColdFire Linker , cflink, is a freeware linker for ColdFire processors.
  9.  
  10. The job of the linker is to take all the object files required to make an executable 
  11. program and join them together.  During the linking process, it will match all the 
  12. references between object files so that the final executable is complete.
  13.  
  14. 1.1 Command Line Options
  15.  
  16. Usage: cflink [options] files -o outputfile
  17.  
  18. Options:     -r<address>    ROM option. Address is a 32-bit start address for the ROM
  19.                 in hexadecimal.
  20.         -i        Output build information.
  21.  
  22.  
  23. The usual format for linking looks like this;
  24.  
  25.     cflink  startup.o  myprogram.o lib.o  -o myprogram.prg 
  26.  
  27. Where;
  28.  
  29. -    cflink is the name of the linker.
  30.  
  31. -    startup.o is the name of the startup object code module for use with 
  32.         GeckoOS.
  33.  
  34. -    myprogram.o is the name of your program object file. You can have more
  35.         than one object file here.
  36.  
  37. -    lib.o is the general set of library functions.
  38.  
  39. -    myprogram.prg is the name of the program file.
  40.  
  41.  
  42. The files you need to supply are that of the 'myprogram.o' which should have been 
  43. produced from a Compiler or Assembler.  All ".o" object files need to be in the 
  44. GeckoOS object code format. If you used cfcc (ColdFire C Compiler) or cfasm 
  45. (ColdFire Assembler - with the object output option enabled) then you would use the 
  46. results from these programs. 
  47.  
  48. Using the ROM option will produce only code and data binary output instead of the 
  49. block file format. XREF (external references) and XDEF (external definitions) will be 
  50. resolved, so that the code can be run in place.
  51.  
  52.  
  53.  
  54. 2. Error messages
  55.  
  56. Error messages are meant to be self-explanatory. The general error messages that 
  57. you may encounter are;
  58.  
  59. File not found                    One of the required files could not be found
  60.  
  61. File <name> is not an object file        The file <name> is not a valid GeckoOS object 
  62.                         code file.You should check the output options for 
  63.                         the assembler or the name of the file you 
  64.                         supplied.
  65.  
  66. Byte relative out of range for reference <name>
  67. Word relative out of range for reference <name>    The variable <name> was used in a manner that 
  68.                         puts it outside the range for either byte or word 
  69.                         addressing modes. You need to change the 
  70.                         model size for the source file.
  71.  
  72. Reference <name> not found            A reference was made to the variable <name> 
  73.                         but it was not found in any of the object files. 
  74.                         You need to check for correct spelling in your 
  75.                         files, or that the library contains the reference.
  76.  
  77. Merged data >64k                This results because of an overflow in the small 
  78.                         data model. All data combined from the object 
  79.                         files must not exceed 65536 bytes in size. (Once 
  80.                         the large data model is available, this may fix the 
  81.                         problem).
  82.                         This does not refer to the size of the code, but 
  83.                         rather the 'data' contained in each object file, 
  84.                         such as tables or text. Code size can 
  85.                         theoretically be as large as 2Gigabytes.
  86.  
  87.  
  88. 3. Limitations
  89.  
  90. ·    The linker does not currently support real libraries. This will be added in the 
  91.     major update.
  92.  
  93. ·    The linker only supports the small data model. Code size has no restrictions, 
  94.     only the merged data size must be less than 64kbytes (i.e. All the data 
  95.     contained in each object file, not code, must add up to less than 64kbytes).
  96.     
  97.     You can circumvent this with assembler files by using the 'section code' option 
  98.     rather than 'section data' for large data items.
  99.  
  100. ·    The linker does not support S-Record yet.
  101.  
  102.  
  103.     Copyright (C) 1998-2000 Defiant Pty Ltd
  104.     All rights reserved.
  105.  
  106.     www.defiant.com.au
  107.  
  108.  
  109.  
  110.